@ThreadSafe class ServerMonitor extends java.lang.Object
| Modifier and Type | Class and Description |
|---|---|
(package private) class |
ServerMonitor.ServerMonitorRunnable |
| Modifier and Type | Field and Description |
|---|---|
private java.util.concurrent.locks.Condition |
condition |
private PooledConnectionProvider |
connectionProvider |
private int |
count |
private long |
elapsedNanosSum |
private boolean |
isClosed |
private java.util.concurrent.locks.Lock |
lock |
private static java.util.logging.Logger |
LOGGER |
private Mongo |
mongo |
private java.lang.Thread |
monitorThread |
private ServerAddress |
serverAddress |
private ChangeListener<ServerDescription> |
serverStateListener |
private ServerSettings |
settings |
private SocketSettings |
socketSettings |
| Constructor and Description |
|---|
ServerMonitor(ServerAddress serverAddress,
ChangeListener<ServerDescription> serverStateListener,
SocketSettings socketSettings,
ServerSettings settings,
java.lang.String clusterId,
Mongo mongo,
PooledConnectionProvider connectionProvider) |
| Modifier and Type | Method and Description |
|---|---|
void |
close() |
void |
connect() |
(package private) static ServerDescription |
createDescription(CommandResult commandResult,
ServerVersion serverVersion,
long averageLatencyNanos) |
(package private) static boolean |
descriptionHasChanged(ServerDescription previousServerDescription,
ServerDescription currentServerDescription) |
(package private) static boolean |
exceptionHasChanged(java.lang.Throwable previousException,
java.lang.Throwable currentException) |
private ServerDescription |
getConnectingServerDescription(java.lang.Throwable throwable) |
private MongoOptions |
getOptions() |
(package private) static ServerType |
getServerType(CommandResult isMasterResult) |
private static TagSet |
getTagSetFromDocument(DBObject tagsDocument) |
private static boolean |
isReplicaSetMember(BasicDBObject isMasterResult) |
private static java.util.Set<java.lang.String> |
listToSet(java.util.List<java.lang.String> list) |
private ServerDescription |
lookupServerDescription(DBPort connection) |
(package private) void |
start() |
(package private) static boolean |
stateHasChanged(ServerDescription previousServerDescription,
ServerDescription currentServerDescription) |
private static final java.util.logging.Logger LOGGER
private final ServerAddress serverAddress
private final ChangeListener<ServerDescription> serverStateListener
private final SocketSettings socketSettings
private final ServerSettings settings
private final Mongo mongo
private final PooledConnectionProvider connectionProvider
private int count
private long elapsedNanosSum
private volatile boolean isClosed
private final java.lang.Thread monitorThread
private final java.util.concurrent.locks.Lock lock
private final java.util.concurrent.locks.Condition condition
ServerMonitor(ServerAddress serverAddress, ChangeListener<ServerDescription> serverStateListener, SocketSettings socketSettings, ServerSettings settings, java.lang.String clusterId, Mongo mongo, PooledConnectionProvider connectionProvider)
void start()
public void connect()
public void close()
private MongoOptions getOptions()
static boolean descriptionHasChanged(ServerDescription previousServerDescription, ServerDescription currentServerDescription)
static boolean stateHasChanged(ServerDescription previousServerDescription, ServerDescription currentServerDescription)
static boolean exceptionHasChanged(java.lang.Throwable previousException,
java.lang.Throwable currentException)
private ServerDescription lookupServerDescription(DBPort connection) throws java.io.IOException
java.io.IOExceptionstatic ServerDescription createDescription(CommandResult commandResult, ServerVersion serverVersion, long averageLatencyNanos)
private static java.util.Set<java.lang.String> listToSet(java.util.List<java.lang.String> list)
static ServerType getServerType(CommandResult isMasterResult)
private static boolean isReplicaSetMember(BasicDBObject isMasterResult)
private ServerDescription getConnectingServerDescription(java.lang.Throwable throwable)