internal CoreTopology GetCoreTopology(SharedDiscoveryCoreClient client) { //Extract config from client string dbName = client.LocalDBName(); bool canBeBootstrapped = canBeBootstrapped(client); return(GetCoreTopology(dbName, canBeBootstrapped)); }
private bool CanBeBootstrapped(SharedDiscoveryCoreClient client) { Stream <SharedDiscoveryCoreClient> clientsWhoCanLeadForMyDb = _listeningClients.Where(c => !c.refusesToBeLeader() && c.localDBName().Equals(client.LocalDBName())); Optional <SharedDiscoveryCoreClient> firstAppropriateClient = clientsWhoCanLeadForMyDb.findFirst(); return(firstAppropriateClient.map(c => c.Equals(client)).orElse(false)); }