/** * Creates a builder instance. * * @param serverSettings existing ServerSettings to default the builder settings on. * @return a builder * @since 3.5 */ public static Builder builder(final ServerSettings serverSettings) { return builder().applySettings(serverSettings); }
/** * Gets the list of added {@code ServerListener}. The default is an empty list. * * @return the unmodifiable list of server listeners * @since 3.3 */ public List<ServerListener> getServerListeners() { return serverSettings.getServerListeners(); }
/** * Gets the list of added {@code ServerMonitorListener}. The default is an empty list. * * @return the unmodifiable list of server monitor listeners * @since 3.3 */ public List<ServerMonitorListener> getServerMonitorListeners() { return serverSettings.getServerMonitorListeners(); }
private void waitForNext() { try { long timeRemaining = waitForSignalOrTimeout(); if (timeRemaining > 0) { long timeWaiting = serverSettings.getHeartbeatFrequency(NANOSECONDS) - timeRemaining; long minimumNanosToWait = serverSettings.getMinHeartbeatFrequency(NANOSECONDS); if (timeWaiting < minimumNanosToWait) { long millisToSleep = MILLISECONDS.convert(minimumNanosToWait - timeWaiting, NANOSECONDS); if (millisToSleep > 0) { Thread.sleep(millisToSleep); } } } } catch (InterruptedException e) { // fall through } }
public DefaultDnsSrvRecordMonitorFactory(final ClusterId clusterId, final ServerSettings serverSettings) { this.clusterId = clusterId; this.noRecordsRescanFrequency = serverSettings.getHeartbeatFrequency(MILLISECONDS); }
/** * Create a new ServerSettings from the settings applied to this builder. * * @return a ServerSettings with the given settings. */ public ServerSettings build() { return new ServerSettings(this); } }
private long getMinWaitTimeNanos() { return serverFactory.getSettings().getMinHeartbeatFrequency(NANOSECONDS); }
private void waitForNext() { try { long timeRemaining = waitForSignalOrTimeout(); if (timeRemaining > 0) { long timeWaiting = serverSettings.getHeartbeatFrequency(NANOSECONDS) - timeRemaining; long minimumNanosToWait = serverSettings.getMinHeartbeatFrequency(NANOSECONDS); if (timeWaiting < minimumNanosToWait) { long millisToSleep = MILLISECONDS.convert(minimumNanosToWait - timeWaiting, NANOSECONDS); if (millisToSleep > 0) { Thread.sleep(millisToSleep); } } } } catch (InterruptedException e) { // fall through } }
private long waitForSignalOrTimeout() throws InterruptedException { lock.lock(); try { return condition.awaitNanos(serverSettings.getHeartbeatFrequency(NANOSECONDS)); } finally { lock.unlock(); } } }
/** * Create a new ServerSettings from the settings applied to this builder. * * @return a ServerSettings with the given settings. */ public ServerSettings build() { return new ServerSettings(this); } }
private long getMinWaitTimeNanos() { return serverFactory.getSettings().getMinHeartbeatFrequency(NANOSECONDS); }
static ServerSettings server(final Config dbconf) { ServerSettings.Builder server = ServerSettings.builder(); withConf("server", dbconf, c -> { withMs("heartbeatFrequency", c, s -> server.heartbeatFrequency(s.intValue(), TimeUnit.MILLISECONDS)); withMs("minHeartbeatFrequency", c, s -> server.minHeartbeatFrequency(s.intValue(), TimeUnit.MILLISECONDS)); }); return server.build(); }
public static ServerListener createServerListener(final ServerSettings serverSettings, final ServerListener additionalServerListener) { List<ServerListener> mergedServerListeners = new ArrayList<ServerListener>(); if (additionalServerListener != null) { mergedServerListeners.add(additionalServerListener); } mergedServerListeners.addAll(serverSettings.getServerListeners()); switch (mergedServerListeners.size()) { case 0: return NO_OP_SERVER_LISTENER; case 1: return mergedServerListeners.get(0); default: return new ServerListenerMulticaster(mergedServerListeners); } }
public static ServerMonitorListener getServerMonitorListener(final ServerSettings serverSettings) { switch (serverSettings.getServerMonitorListeners().size()) { case 0: return NO_OP_SERVER_MONITOR_LISTENER; case 1: return serverSettings.getServerMonitorListeners().get(0); default: return new ServerMonitorListenerMulticaster(serverSettings.getServerMonitorListeners()); } }
long heartbeatFrequencyMS = clusterDescription.getServerSettings().getHeartbeatFrequency(MILLISECONDS);
.build(); ServerSettings.Builder serverSettingsBuilder = ServerSettings.builder() .heartbeatFrequency(getHeartbeatFrequency(), MILLISECONDS) .minHeartbeatFrequency(getMinHeartbeatFrequency(), MILLISECONDS);
/** * Gets the list of added {@code ServerListener}. The default is an empty list. * * @return the unmodifiable list of server listeners * @since 3.3 */ public List<ServerListener> getServerListeners() { return serverSettings.getServerListeners(); }
/** * Gets the list of added {@code ServerMonitorListener}. The default is an empty list. * * @return the unmodifiable list of server monitor listeners * @since 3.3 */ public List<ServerMonitorListener> getServerMonitorListeners() { return serverSettings.getServerMonitorListeners(); }
public DefaultDnsSrvRecordMonitorFactory(final ClusterId clusterId, final ServerSettings serverSettings) { this.clusterId = clusterId; this.noRecordsRescanFrequency = serverSettings.getHeartbeatFrequency(MILLISECONDS); }
/** * Creates a builder instance. * * @param serverSettings existing ServerSettings to default the builder settings on. * @return a builder * @since 3.5 */ public static Builder builder(final ServerSettings serverSettings) { return builder().applySettings(serverSettings); }