useStrategy static method
Create a Chronik client using a connection strategy
Supports two strategies:
- ConnectionStrategy.closestFirst: Selects fastest server by WebSocket latency
- ConnectionStrategy.asOrdered: Uses servers in provided order
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);
}