/// <summary> /// Returns a <see cref="RelayNodeClusterDefinition"/> for the current environment that contains /// the a node configured to listen on the /// </summary> /// <param name="address"></param> /// <param name="portNumber"></param> /// <returns></returns> internal RelayNodeClusterDefinition GetClusterFor(IPAddress address, int portNumber) { RelayNodeClusterDefinition[] clusters = null; EnvironmentDefinition env = GetEnvironment(); if (env != null) { clusters = env.RelayNodeClusters; } else { clusters = DefaultRelayNodeClusters; } RelayNodeClusterDefinition clusterDefinition = null; if (clusters != null) { foreach (RelayNodeClusterDefinition cluster in clusters) { if (cluster.ContainsNode(address, portNumber)) { clusterDefinition = cluster; break; } } } return(clusterDefinition); }
/// <summary> /// Returns a <see cref="RelayNodeClusterDefinition"/> for the current environment that contains /// the a node configured to listen on the /// </summary> /// <param name="address">The address.</param> /// <param name="portNumber">The port number.</param> /// <param name="clusterIndex">Index of the cluster.</param> /// <returns></returns> internal RelayNodeClusterDefinition GetClusterFor(IPAddress address, int portNumber, out int clusterIndex) { RelayNodeClusterDefinition[] clusters = null; EnvironmentDefinition env = GetEnvironment(); clusterIndex = -1; if (env != null) { clusters = env.RelayNodeClusters; } else { clusters = DefaultRelayNodeClusters; } RelayNodeClusterDefinition clusterDefinition = null; if (clusters != null) { for (int i = 0; i < clusters.Length; i++) { if (clusters[i].ContainsNode(address, portNumber)) { clusterDefinition = clusters[i]; clusterIndex = i; break; } } } return(clusterDefinition); }