useStrategy static method

Future<ChronikClient> useStrategy(
  1. ConnectionStrategy strategy,
  2. List<String> urls
)

Create a Chronik client using a connection strategy

Supports two strategies:

Implementation

static Future<ChronikClient> useStrategy(
  ConnectionStrategy strategy,
  List<String> urls,
) async {
  if (urls.isEmpty) {
    throw ValidationException('At least one server URL is required');
  }

  final sortedUrls = switch (strategy) {
    ConnectionStrategy.closestFirst => await sortNodesByLatency(urls),
    ConnectionStrategy.asOrdered => urls,
  };

  return ChronikClient(sortedUrls);
}