internal static bool EndpointRangeEquals(FabricEndpointsTypeApplicationEndpoints endpointRangeA, FabricEndpointsTypeApplicationEndpoints endpointRangeB) { if (endpointRangeA == null && endpointRangeB == null) { return(true); } if (endpointRangeA == null || endpointRangeB == null) { return(false); } return(endpointRangeA.StartPort == endpointRangeB.StartPort && endpointRangeA.EndPort == endpointRangeB.EndPort); }
internal static NonWindowsFabricEndpointSet GetNonWindowsFabricEndpointSet(IDictionary <string, RoleInstanceEndpoint> roleInstanceEndpointMap) { Dictionary <string, InputEndpointType> nonWindowsFabricPorts = new Dictionary <string, InputEndpointType>(StringComparer.OrdinalIgnoreCase); Dictionary <string, FabricEndpointsTypeApplicationEndpoints> nonWindowsFabricPortRanges = new Dictionary <string, FabricEndpointsTypeApplicationEndpoints>(StringComparer.OrdinalIgnoreCase); foreach (KeyValuePair <string, RoleInstanceEndpoint> roleInstanceEndpoint in roleInstanceEndpointMap) { string roleInstanceEndpointName = roleInstanceEndpoint.Key; if (WindowsFabricAzureWrapperServiceCommon.FabricEndpointNames.FirstOrDefault(name => string.Compare(name, roleInstanceEndpointName, StringComparison.OrdinalIgnoreCase) == 0) == null) { string portRangeConfigurationSettingName = string.Format(CultureInfo.InvariantCulture, WindowsFabricAzureWrapperServiceCommon.NonWindowsFabricPortRangeConfigurationSettingNameTemplate, roleInstanceEndpointName); int portCount; if (TryGetConfigurationSettingValueAsInt(portRangeConfigurationSettingName, out portCount)) { int startPort = roleInstanceEndpoint.Value.IPEndpoint.Port; int endPort = startPort + portCount - 1; nonWindowsFabricPortRanges[roleInstanceEndpointName] = new FabricEndpointsTypeApplicationEndpoints { StartPort = startPort, EndPort = endPort }; } else { int port = roleInstanceEndpoint.Value.IPEndpoint.Port; nonWindowsFabricPorts[roleInstanceEndpointName] = new InputEndpointType { Port = port.ToString(CultureInfo.InvariantCulture), Protocol = InputEndpointTypeProtocol.tcp }; } } } return(new NonWindowsFabricEndpointSet { NonWindowsFabricPorts = nonWindowsFabricPorts, NonWindowsFabricPortRanges = nonWindowsFabricPortRanges }); }
private static string EndpointRangeToString(FabricEndpointsTypeApplicationEndpoints endpointRange) { return(endpointRange == null ? string.Empty : string.Format(CultureInfo.InvariantCulture, "< {0} - {1} >", endpointRange.StartPort, endpointRange.EndPort)); }