private int calculateTryCount() { final NetworkConfig networkConfig = config.getNetworkConfig(); long timeoutMillis = TimeUnit.SECONDS.toMillis(networkConfig.getJoin().getMulticastConfig().getMulticastTimeoutSeconds()); int avgPublishInterval = (PUBLISH_INTERVAL_MAX + PUBLISH_INTERVAL_MIN) / 2; int tryCount = (int) timeoutMillis / avgPublishInterval; String host = node.getThisAddress().getHost(); int lastDigits; try { lastDigits = Integer.parseInt(host.substring(host.lastIndexOf('.') + 1)); } catch (NumberFormatException e) { lastDigits = RandomPicker.getInt(TRY_COUNT_MAX_LAST_DIGITS); } int portDiff = node.getThisAddress().getPort() - networkConfig.getPort(); tryCount += (lastDigits + portDiff) % TRY_COUNT_MODULO; return tryCount; }
private int calculateTryCount() { final NetworkConfig networkConfig = config.getNetworkConfig(); long timeoutMillis = TimeUnit.SECONDS.toMillis(networkConfig.getJoin().getMulticastConfig().getMulticastTimeoutSeconds()); int avgPublishInterval = (PUBLISH_INTERVAL_MAX + PUBLISH_INTERVAL_MIN) / 2; int tryCount = (int) timeoutMillis / avgPublishInterval; String host = node.getThisAddress().getHost(); int lastDigits; try { lastDigits = Integer.parseInt(host.substring(host.lastIndexOf('.') + 1)); } catch (NumberFormatException e) { lastDigits = RandomPicker.getInt(TRY_COUNT_MAX_LAST_DIGITS); } int portDiff = node.getThisAddress().getPort() - networkConfig.getPort(); tryCount += (lastDigits + portDiff) % TRY_COUNT_MODULO; return tryCount; }
private static void multicastConfigXmlGenerator(XmlGenerator gen, JoinConfig join) { MulticastConfig mcConfig = join.getMulticastConfig(); gen.open("multicast", "enabled", mcConfig.isEnabled(), "loopbackModeEnabled", mcConfig.isLoopbackModeEnabled()) .node("multicast-group", mcConfig.getMulticastGroup()) .node("multicast-port", mcConfig.getMulticastPort()) .node("multicast-timeout-seconds", mcConfig.getMulticastTimeoutSeconds()) .node("multicast-time-to-live", mcConfig.getMulticastTimeToLive()); if (!mcConfig.getTrustedInterfaces().isEmpty()) { gen.open("trusted-interfaces"); for (String trustedInterface : mcConfig.getTrustedInterfaces()) { gen.node("interface", trustedInterface); } gen.close(); } gen.close(); }
private static void multicastConfigXmlGenerator(XmlGenerator gen, JoinConfig join) { MulticastConfig mcConfig = join.getMulticastConfig(); gen.open("multicast", "enabled", mcConfig.isEnabled(), "loopbackModeEnabled", mcConfig.isLoopbackModeEnabled()) .node("multicast-group", mcConfig.getMulticastGroup()) .node("multicast-port", mcConfig.getMulticastPort()) .node("multicast-timeout-seconds", mcConfig.getMulticastTimeoutSeconds()) .node("multicast-time-to-live", mcConfig.getMulticastTimeToLive()); if (!mcConfig.getTrustedInterfaces().isEmpty()) { gen.open("trusted-interfaces"); for (String trustedInterface : mcConfig.getTrustedInterfaces()) { gen.node("interface", trustedInterface); } gen.close(); } gen.close(); }