discover method
Discover EventStoreDB host based on given settings.
Implementation
@override
Future<EndPoint> discover() async {
for (var attempt = 1; attempt <= settings.maxDiscoverAttempts; ++attempt) {
try {
final request = _discover();
final endpoint = await (settings.gossipTimeout.isInfinite
? request
: request.timeout(
settings.gossipTimeout,
));
if (endpoint != null) {
return endpoint;
}
} on Exception {
await Future<void>.delayed(
settings.discoveryInterval,
);
}
}
throw DiscoveryException(settings.maxDiscoverAttempts);
}