public boolean apply(final ServerDescription serverDescription) { return serverDescription.isOk(); } });
private List<ServerDescription> getServersWithAcceptableLatencyDifference(final List<ServerDescription> servers, final long bestPingTime) { List<ServerDescription> goodSecondaries = new ArrayList<ServerDescription>(servers.size()); for (final ServerDescription cur : servers) { if (!cur.isOk()) { continue; } if (cur.getRoundTripTimeNanos() - acceptableLatencyDifferenceNanos <= bestPingTime) { goodSecondaries.add(cur); } } return goodSecondaries; } }
private long getFastestRoundTripTimeNanos(final List<ServerDescription> members) { long fastestRoundTripTime = Long.MAX_VALUE; for (final ServerDescription cur : members) { if (!cur.isOk()) { continue; } if (cur.getRoundTripTimeNanos() < fastestRoundTripTime) { fastestRoundTripTime = cur.getRoundTripTimeNanos(); } } return fastestRoundTripTime; }
private boolean serversAreAllThreeDotFour(final ClusterDescription clusterDescription) { for (ServerDescription cur : clusterDescription.getServerDescriptions()) { if (cur.isOk() && cur.getMaxWireVersion() < 5) { return false; } } return true; }
/** * Returns the ServerDescription for the server at the given address * * @param serverAddress the ServerAddress for a server in this cluster * @return the ServerDescription for this server * @deprecated Replace with a filter on ServerDescription in the caller */ @Deprecated public ServerDescription getByServerAddress(final ServerAddress serverAddress) { for (final ServerDescription cur : serverDescriptions) { if (cur.isOk() && cur.getAddress().equals(serverAddress)) { return cur; } } return null; }
@Override public void serverDescriptionChanged(final ServerDescriptionChangedEvent event) { ServerDescription descriptionToPublish = event.getNewDescription(); if (event.getNewDescription().isOk()) { if (getSettings().getRequiredClusterType() != ClusterType.UNKNOWN && getSettings().getRequiredClusterType() != event.getNewDescription().getClusterType()) { descriptionToPublish = null; } else if (getSettings().getRequiredClusterType() == ClusterType.REPLICA_SET && getSettings().getRequiredReplicaSetName() != null) { if (!getSettings().getRequiredReplicaSetName().equals(event.getNewDescription().getSetName())) { descriptionToPublish = null; } } } publishDescription(descriptionToPublish); } }
if (event.getNewDescription().isOk()) { if (clusterType == UNKNOWN && newDescription.getType() != REPLICA_SET_GHOST) { clusterType = newDescription.getClusterType();
public boolean apply(final ServerDescription serverDescription) { return serverDescription.isOk(); } });
private List<ServerDescription> getServersWithAcceptableLatencyDifference(final List<ServerDescription> servers, final long bestPingTime) { List<ServerDescription> goodSecondaries = new ArrayList<ServerDescription>(servers.size()); for (final ServerDescription cur : servers) { if (!cur.isOk()) { continue; } if (cur.getRoundTripTimeNanos() - acceptableLatencyDifferenceNanos <= bestPingTime) { goodSecondaries.add(cur); } } return goodSecondaries; } }
private long getFastestRoundTripTimeNanos(final List<ServerDescription> members) { long fastestRoundTripTime = Long.MAX_VALUE; for (final ServerDescription cur : members) { if (!cur.isOk()) { continue; } if (cur.getRoundTripTimeNanos() < fastestRoundTripTime) { fastestRoundTripTime = cur.getRoundTripTimeNanos(); } } return fastestRoundTripTime; }
private boolean serversAreAllThreeDotFour(final ClusterDescription clusterDescription) { for (ServerDescription cur : clusterDescription.getServerDescriptions()) { if (cur.isOk() && cur.getMaxWireVersion() < 5) { return false; } } return true; }
/** * Returns the ServerDescription for the server at the given address * * @param serverAddress the ServerAddress for a server in this cluster * @return the ServerDescription for this server * @deprecated Replace with a filter on ServerDescription in the caller */ @Deprecated public ServerDescription getByServerAddress(final ServerAddress serverAddress) { for (final ServerDescription cur : serverDescriptions) { if (cur.isOk() && cur.getAddress().equals(serverAddress)) { return cur; } } return null; }
@Override public void serverDescriptionChanged(final ServerDescriptionChangedEvent event) { ServerDescription descriptionToPublish = event.getNewDescription(); if (event.getNewDescription().isOk()) { if (getSettings().getRequiredClusterType() != ClusterType.UNKNOWN && getSettings().getRequiredClusterType() != event.getNewDescription().getClusterType()) { descriptionToPublish = null; } else if (getSettings().getRequiredClusterType() == ClusterType.REPLICA_SET && getSettings().getRequiredReplicaSetName() != null) { if (!getSettings().getRequiredReplicaSetName().equals(event.getNewDescription().getSetName())) { descriptionToPublish = null; } } } publishDescription(descriptionToPublish); } }
if (event.getNewDescription().isOk()) { if (clusterType == UNKNOWN && newDescription.getType() != REPLICA_SET_GHOST) { clusterType = newDescription.getClusterType();