class com.mongodb.internal.connection.DefaultServerMonitorFactory implements com.mongodb.internal.connection.ServerMonitorFactory
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: com.mongodb.internal.connection.DefaultServerMonitorFactory
  super_class: java.lang.Object
{
  private final com.mongodb.connection.ServerId serverId;
    descriptor: Lcom/mongodb/connection/ServerId;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final com.mongodb.connection.ServerSettings settings;
    descriptor: Lcom/mongodb/connection/ServerSettings;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final com.mongodb.internal.connection.ClusterClock clusterClock;
    descriptor: Lcom/mongodb/internal/connection/ClusterClock;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final com.mongodb.internal.connection.InternalConnectionFactory internalConnectionFactory;
    descriptor: Lcom/mongodb/internal/connection/InternalConnectionFactory;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final com.mongodb.internal.connection.ConnectionPool connectionPool;
    descriptor: Lcom/mongodb/internal/connection/ConnectionPool;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  void <init>(com.mongodb.connection.ServerId, com.mongodb.connection.ServerSettings, com.mongodb.internal.connection.ClusterClock, com.mongodb.internal.connection.InternalConnectionFactory, com.mongodb.internal.connection.ConnectionPool);
    descriptor: (Lcom/mongodb/connection/ServerId;Lcom/mongodb/connection/ServerSettings;Lcom/mongodb/internal/connection/ClusterClock;Lcom/mongodb/internal/connection/InternalConnectionFactory;Lcom/mongodb/internal/connection/ConnectionPool;)V
    flags: (0x0000) 
    Code:
      stack=3, locals=6, args_size=6
        start local 0 // com.mongodb.internal.connection.DefaultServerMonitorFactory this
        start local 1 // com.mongodb.connection.ServerId serverId
        start local 2 // com.mongodb.connection.ServerSettings settings
        start local 3 // com.mongodb.internal.connection.ClusterClock clusterClock
        start local 4 // com.mongodb.internal.connection.InternalConnectionFactory internalConnectionFactory
        start local 5 // com.mongodb.internal.connection.ConnectionPool connectionPool
         0: .line 32
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 35
            aload 0 /* this */
            ldc "serverId"
            aload 1 /* serverId */
            invokestatic com.mongodb.assertions.Assertions.notNull:(Ljava/lang/String;Ljava/lang/Object;)Ljava/lang/Object;
            checkcast com.mongodb.connection.ServerId
            putfield com.mongodb.internal.connection.DefaultServerMonitorFactory.serverId:Lcom/mongodb/connection/ServerId;
         2: .line 36
            aload 0 /* this */
            ldc "settings"
            aload 2 /* settings */
            invokestatic com.mongodb.assertions.Assertions.notNull:(Ljava/lang/String;Ljava/lang/Object;)Ljava/lang/Object;
            checkcast com.mongodb.connection.ServerSettings
            putfield com.mongodb.internal.connection.DefaultServerMonitorFactory.settings:Lcom/mongodb/connection/ServerSettings;
         3: .line 37
            aload 0 /* this */
            ldc "clusterClock"
            aload 3 /* clusterClock */
            invokestatic com.mongodb.assertions.Assertions.notNull:(Ljava/lang/String;Ljava/lang/Object;)Ljava/lang/Object;
            checkcast com.mongodb.internal.connection.ClusterClock
            putfield com.mongodb.internal.connection.DefaultServerMonitorFactory.clusterClock:Lcom/mongodb/internal/connection/ClusterClock;
         4: .line 38
            aload 0 /* this */
            ldc "internalConnectionFactory"
            aload 4 /* internalConnectionFactory */
            invokestatic com.mongodb.assertions.Assertions.notNull:(Ljava/lang/String;Ljava/lang/Object;)Ljava/lang/Object;
            checkcast com.mongodb.internal.connection.InternalConnectionFactory
            putfield com.mongodb.internal.connection.DefaultServerMonitorFactory.internalConnectionFactory:Lcom/mongodb/internal/connection/InternalConnectionFactory;
         5: .line 39
            aload 0 /* this */
            ldc "connectionPool"
            aload 5 /* connectionPool */
            invokestatic com.mongodb.assertions.Assertions.notNull:(Ljava/lang/String;Ljava/lang/Object;)Ljava/lang/Object;
            checkcast com.mongodb.internal.connection.ConnectionPool
            putfield com.mongodb.internal.connection.DefaultServerMonitorFactory.connectionPool:Lcom/mongodb/internal/connection/ConnectionPool;
         6: .line 40
            return
        end local 5 // com.mongodb.internal.connection.ConnectionPool connectionPool
        end local 4 // com.mongodb.internal.connection.InternalConnectionFactory internalConnectionFactory
        end local 3 // com.mongodb.internal.connection.ClusterClock clusterClock
        end local 2 // com.mongodb.connection.ServerSettings settings
        end local 1 // com.mongodb.connection.ServerId serverId
        end local 0 // com.mongodb.internal.connection.DefaultServerMonitorFactory this
      LocalVariableTable:
        Start  End  Slot                       Name  Signature
            0    7     0                       this  Lcom/mongodb/internal/connection/DefaultServerMonitorFactory;
            0    7     1                   serverId  Lcom/mongodb/connection/ServerId;
            0    7     2                   settings  Lcom/mongodb/connection/ServerSettings;
            0    7     3               clusterClock  Lcom/mongodb/internal/connection/ClusterClock;
            0    7     4  internalConnectionFactory  Lcom/mongodb/internal/connection/InternalConnectionFactory;
            0    7     5             connectionPool  Lcom/mongodb/internal/connection/ConnectionPool;
    MethodParameters:
                           Name  Flags
      serverId                   final
      settings                   final
      clusterClock               final
      internalConnectionFactory  final
      connectionPool             final

  public com.mongodb.internal.connection.ServerMonitor create(com.mongodb.internal.connection.ChangeListener<com.mongodb.connection.ServerDescription>);
    descriptor: (Lcom/mongodb/internal/connection/ChangeListener;)Lcom/mongodb/internal/connection/ServerMonitor;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=8, locals=2, args_size=2
        start local 0 // com.mongodb.internal.connection.DefaultServerMonitorFactory this
        start local 1 // com.mongodb.internal.connection.ChangeListener serverStateListener
         0: .line 44
            new com.mongodb.internal.connection.DefaultServerMonitor
            dup
            aload 0 /* this */
            getfield com.mongodb.internal.connection.DefaultServerMonitorFactory.serverId:Lcom/mongodb/connection/ServerId;
            aload 0 /* this */
            getfield com.mongodb.internal.connection.DefaultServerMonitorFactory.settings:Lcom/mongodb/connection/ServerSettings;
            aload 0 /* this */
            getfield com.mongodb.internal.connection.DefaultServerMonitorFactory.clusterClock:Lcom/mongodb/internal/connection/ClusterClock;
            aload 1 /* serverStateListener */
            aload 0 /* this */
            getfield com.mongodb.internal.connection.DefaultServerMonitorFactory.internalConnectionFactory:Lcom/mongodb/internal/connection/InternalConnectionFactory;
            aload 0 /* this */
            getfield com.mongodb.internal.connection.DefaultServerMonitorFactory.connectionPool:Lcom/mongodb/internal/connection/ConnectionPool;
            invokespecial com.mongodb.internal.connection.DefaultServerMonitor.<init>:(Lcom/mongodb/connection/ServerId;Lcom/mongodb/connection/ServerSettings;Lcom/mongodb/internal/connection/ClusterClock;Lcom/mongodb/internal/connection/ChangeListener;Lcom/mongodb/internal/connection/InternalConnectionFactory;Lcom/mongodb/internal/connection/ConnectionPool;)V
            areturn
        end local 1 // com.mongodb.internal.connection.ChangeListener serverStateListener
        end local 0 // com.mongodb.internal.connection.DefaultServerMonitorFactory this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0    1     0                 this  Lcom/mongodb/internal/connection/DefaultServerMonitorFactory;
            0    1     1  serverStateListener  Lcom/mongodb/internal/connection/ChangeListener<Lcom/mongodb/connection/ServerDescription;>;
    Signature: (Lcom/mongodb/internal/connection/ChangeListener<Lcom/mongodb/connection/ServerDescription;>;)Lcom/mongodb/internal/connection/ServerMonitor;
    MethodParameters:
                     Name  Flags
      serverStateListener  final
}
SourceFile: "DefaultServerMonitorFactory.java"