private IList <Endpoint> ReadEndpoints(CoreTopology coreTopology, ReadReplicaTopology rrTopology, Policy policy) { //JAVA TO C# CONVERTER TODO TASK: Most Java stream collectors are not converted by Java to C# Converter: ISet <ServerInfo> possibleReaders = rrTopology.Members().SetOfKeyValuePairs().Select(entry => new ServerInfo(entry.Value.connectors().boltAddress(), entry.Key, entry.Value.groups())).collect(Collectors.toSet()); if (_allowReadsOnFollowers || possibleReaders.Count == 0) { ISet <MemberId> validCores = coreTopology.Members().Keys; try { MemberId leader = _leaderLocator.Leader; //JAVA TO C# CONVERTER TODO TASK: Most Java stream collectors are not converted by Java to C# Converter: validCores = validCores.Where(memberId => !memberId.Equals(leader)).collect(Collectors.toSet()); } catch (NoLeaderFoundException) { // we might end up using the leader for reading during this ttl, should be fine in general } foreach (MemberId validCore in validCores) { Optional <CoreServerInfo> coreServerInfo = coreTopology.find(validCore); coreServerInfo.ifPresent(coreServerInfo1 => possibleReaders.Add(new ServerInfo(coreServerInfo1.connectors().boltAddress(), validCore, coreServerInfo1.groups()))); } } ISet <ServerInfo> readers = policy.Apply(possibleReaders); return(readers.Select(r => Endpoint.read(r.boltAddress())).ToList()); }
//JAVA TO C# CONVERTER WARNING: Method 'throws' clauses are not available in C#: //ORIGINAL LINE: public org.neo4j.causalclustering.routing.load_balancing.LoadBalancingProcessor_Result run(java.util.Map<String,String> context) throws org.neo4j.internal.kernel.api.exceptions.ProcedureException public override Org.Neo4j.causalclustering.routing.load_balancing.LoadBalancingProcessor_Result Run(IDictionary <string, string> context) { Policy policy = _policies.selectFor(context); CoreTopology coreTopology = _topologyService.localCoreServers(); ReadReplicaTopology rrTopology = _topologyService.localReadReplicas(); return(new LoadBalancingResult(RouteEndpoints(coreTopology), WriteEndpoints(coreTopology), ReadEndpoints(coreTopology, rrTopology, policy), _timeToLive.Value)); }
public TopologyServiceAnonymousInnerClass(CoreTopology coreTopology, ReadReplicaTopology readReplicaTopology) { this._coreTopology = coreTopology; this._readReplicaTopology = readReplicaTopology; }
internal static TopologyService FakeTopologyService(CoreTopology coreTopology, ReadReplicaTopology readReplicaTopology) { return(new TopologyServiceAnonymousInnerClass(coreTopology, readReplicaTopology)); }