public class com.mongodb.connection.netty.NettyStreamFactory implements com.mongodb.connection.StreamFactory
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: com.mongodb.connection.netty.NettyStreamFactory
  super_class: java.lang.Object
{
  private final com.mongodb.connection.SocketSettings settings;
    descriptor: Lcom/mongodb/connection/SocketSettings;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

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

  private final io.netty.channel.EventLoopGroup eventLoopGroup;
    descriptor: Lio/netty/channel/EventLoopGroup;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final java.lang.Class<? extends io.netty.channel.socket.SocketChannel> socketChannelClass;
    descriptor: Ljava/lang/Class;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/lang/Class<+Lio/netty/channel/socket/SocketChannel;>;

  private final io.netty.buffer.ByteBufAllocator allocator;
    descriptor: Lio/netty/buffer/ByteBufAllocator;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  public void <init>(com.mongodb.connection.SocketSettings, com.mongodb.connection.SslSettings, io.netty.channel.EventLoopGroup, java.lang.Class<? extends io.netty.channel.socket.SocketChannel>, io.netty.buffer.ByteBufAllocator);
    descriptor: (Lcom/mongodb/connection/SocketSettings;Lcom/mongodb/connection/SslSettings;Lio/netty/channel/EventLoopGroup;Ljava/lang/Class;Lio/netty/buffer/ByteBufAllocator;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=6, args_size=6
        start local 0 // com.mongodb.connection.netty.NettyStreamFactory this
        start local 1 // com.mongodb.connection.SocketSettings settings
        start local 2 // com.mongodb.connection.SslSettings sslSettings
        start local 3 // io.netty.channel.EventLoopGroup eventLoopGroup
        start local 4 // java.lang.Class socketChannelClass
        start local 5 // io.netty.buffer.ByteBufAllocator allocator
         0: .line 56
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 59
            aload 0 /* this */
            ldc "settings"
            aload 1 /* settings */
            invokestatic com.mongodb.assertions.Assertions.notNull:(Ljava/lang/String;Ljava/lang/Object;)Ljava/lang/Object;
            checkcast com.mongodb.connection.SocketSettings
            putfield com.mongodb.connection.netty.NettyStreamFactory.settings:Lcom/mongodb/connection/SocketSettings;
         2: .line 60
            aload 0 /* this */
            ldc "sslSettings"
            aload 2 /* sslSettings */
            invokestatic com.mongodb.assertions.Assertions.notNull:(Ljava/lang/String;Ljava/lang/Object;)Ljava/lang/Object;
            checkcast com.mongodb.connection.SslSettings
            putfield com.mongodb.connection.netty.NettyStreamFactory.sslSettings:Lcom/mongodb/connection/SslSettings;
         3: .line 61
            aload 0 /* this */
            ldc "eventLoopGroup"
            aload 3 /* eventLoopGroup */
            invokestatic com.mongodb.assertions.Assertions.notNull:(Ljava/lang/String;Ljava/lang/Object;)Ljava/lang/Object;
            checkcast io.netty.channel.EventLoopGroup
            putfield com.mongodb.connection.netty.NettyStreamFactory.eventLoopGroup:Lio/netty/channel/EventLoopGroup;
         4: .line 62
            aload 0 /* this */
            ldc "socketChannelClass"
            aload 4 /* socketChannelClass */
            invokestatic com.mongodb.assertions.Assertions.notNull:(Ljava/lang/String;Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.Class
            putfield com.mongodb.connection.netty.NettyStreamFactory.socketChannelClass:Ljava/lang/Class;
         5: .line 63
            aload 0 /* this */
            ldc "allocator"
            aload 5 /* allocator */
            invokestatic com.mongodb.assertions.Assertions.notNull:(Ljava/lang/String;Ljava/lang/Object;)Ljava/lang/Object;
            checkcast io.netty.buffer.ByteBufAllocator
            putfield com.mongodb.connection.netty.NettyStreamFactory.allocator:Lio/netty/buffer/ByteBufAllocator;
         6: .line 64
            return
        end local 5 // io.netty.buffer.ByteBufAllocator allocator
        end local 4 // java.lang.Class socketChannelClass
        end local 3 // io.netty.channel.EventLoopGroup eventLoopGroup
        end local 2 // com.mongodb.connection.SslSettings sslSettings
        end local 1 // com.mongodb.connection.SocketSettings settings
        end local 0 // com.mongodb.connection.netty.NettyStreamFactory this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0    7     0                this  Lcom/mongodb/connection/netty/NettyStreamFactory;
            0    7     1            settings  Lcom/mongodb/connection/SocketSettings;
            0    7     2         sslSettings  Lcom/mongodb/connection/SslSettings;
            0    7     3      eventLoopGroup  Lio/netty/channel/EventLoopGroup;
            0    7     4  socketChannelClass  Ljava/lang/Class<+Lio/netty/channel/socket/SocketChannel;>;
            0    7     5           allocator  Lio/netty/buffer/ByteBufAllocator;
    Signature: (Lcom/mongodb/connection/SocketSettings;Lcom/mongodb/connection/SslSettings;Lio/netty/channel/EventLoopGroup;Ljava/lang/Class<+Lio/netty/channel/socket/SocketChannel;>;Lio/netty/buffer/ByteBufAllocator;)V
    MethodParameters:
                    Name  Flags
      settings            final
      sslSettings         final
      eventLoopGroup      final
      socketChannelClass  final
      allocator           final

  public void <init>(com.mongodb.connection.SocketSettings, com.mongodb.connection.SslSettings, io.netty.channel.EventLoopGroup, io.netty.buffer.ByteBufAllocator);
    descriptor: (Lcom/mongodb/connection/SocketSettings;Lcom/mongodb/connection/SslSettings;Lio/netty/channel/EventLoopGroup;Lio/netty/buffer/ByteBufAllocator;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=5, args_size=5
        start local 0 // com.mongodb.connection.netty.NettyStreamFactory this
        start local 1 // com.mongodb.connection.SocketSettings settings
        start local 2 // com.mongodb.connection.SslSettings sslSettings
        start local 3 // io.netty.channel.EventLoopGroup eventLoopGroup
        start local 4 // io.netty.buffer.ByteBufAllocator allocator
         0: .line 76
            aload 0 /* this */
            aload 1 /* settings */
            aload 2 /* sslSettings */
            aload 3 /* eventLoopGroup */
            ldc Lio/netty/channel/socket/nio/NioSocketChannel;
            aload 4 /* allocator */
            invokespecial com.mongodb.connection.netty.NettyStreamFactory.<init>:(Lcom/mongodb/connection/SocketSettings;Lcom/mongodb/connection/SslSettings;Lio/netty/channel/EventLoopGroup;Ljava/lang/Class;Lio/netty/buffer/ByteBufAllocator;)V
         1: .line 77
            return
        end local 4 // io.netty.buffer.ByteBufAllocator allocator
        end local 3 // io.netty.channel.EventLoopGroup eventLoopGroup
        end local 2 // com.mongodb.connection.SslSettings sslSettings
        end local 1 // com.mongodb.connection.SocketSettings settings
        end local 0 // com.mongodb.connection.netty.NettyStreamFactory this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    2     0            this  Lcom/mongodb/connection/netty/NettyStreamFactory;
            0    2     1        settings  Lcom/mongodb/connection/SocketSettings;
            0    2     2     sslSettings  Lcom/mongodb/connection/SslSettings;
            0    2     3  eventLoopGroup  Lio/netty/channel/EventLoopGroup;
            0    2     4       allocator  Lio/netty/buffer/ByteBufAllocator;
    MethodParameters:
                Name  Flags
      settings        final
      sslSettings     final
      eventLoopGroup  final
      allocator       final

  public void <init>(com.mongodb.connection.SocketSettings, com.mongodb.connection.SslSettings, io.netty.channel.EventLoopGroup);
    descriptor: (Lcom/mongodb/connection/SocketSettings;Lcom/mongodb/connection/SslSettings;Lio/netty/channel/EventLoopGroup;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=4, args_size=4
        start local 0 // com.mongodb.connection.netty.NettyStreamFactory this
        start local 1 // com.mongodb.connection.SocketSettings settings
        start local 2 // com.mongodb.connection.SslSettings sslSettings
        start local 3 // io.netty.channel.EventLoopGroup eventLoopGroup
         0: .line 89
            aload 0 /* this */
            aload 1 /* settings */
            aload 2 /* sslSettings */
            aload 3 /* eventLoopGroup */
            getstatic io.netty.buffer.PooledByteBufAllocator.DEFAULT:Lio/netty/buffer/PooledByteBufAllocator;
            invokespecial com.mongodb.connection.netty.NettyStreamFactory.<init>:(Lcom/mongodb/connection/SocketSettings;Lcom/mongodb/connection/SslSettings;Lio/netty/channel/EventLoopGroup;Lio/netty/buffer/ByteBufAllocator;)V
         1: .line 90
            return
        end local 3 // io.netty.channel.EventLoopGroup eventLoopGroup
        end local 2 // com.mongodb.connection.SslSettings sslSettings
        end local 1 // com.mongodb.connection.SocketSettings settings
        end local 0 // com.mongodb.connection.netty.NettyStreamFactory this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    2     0            this  Lcom/mongodb/connection/netty/NettyStreamFactory;
            0    2     1        settings  Lcom/mongodb/connection/SocketSettings;
            0    2     2     sslSettings  Lcom/mongodb/connection/SslSettings;
            0    2     3  eventLoopGroup  Lio/netty/channel/EventLoopGroup;
    MethodParameters:
                Name  Flags
      settings        final
      sslSettings     final
      eventLoopGroup  final

  public void <init>(com.mongodb.connection.SocketSettings, com.mongodb.connection.SslSettings);
    descriptor: (Lcom/mongodb/connection/SocketSettings;Lcom/mongodb/connection/SslSettings;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=3, args_size=3
        start local 0 // com.mongodb.connection.netty.NettyStreamFactory this
        start local 1 // com.mongodb.connection.SocketSettings settings
        start local 2 // com.mongodb.connection.SslSettings sslSettings
         0: .line 99
            aload 0 /* this */
            aload 1 /* settings */
            aload 2 /* sslSettings */
            new io.netty.channel.nio.NioEventLoopGroup
            dup
            invokespecial io.netty.channel.nio.NioEventLoopGroup.<init>:()V
            invokespecial com.mongodb.connection.netty.NettyStreamFactory.<init>:(Lcom/mongodb/connection/SocketSettings;Lcom/mongodb/connection/SslSettings;Lio/netty/channel/EventLoopGroup;)V
         1: .line 100
            return
        end local 2 // com.mongodb.connection.SslSettings sslSettings
        end local 1 // com.mongodb.connection.SocketSettings settings
        end local 0 // com.mongodb.connection.netty.NettyStreamFactory this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    2     0         this  Lcom/mongodb/connection/netty/NettyStreamFactory;
            0    2     1     settings  Lcom/mongodb/connection/SocketSettings;
            0    2     2  sslSettings  Lcom/mongodb/connection/SslSettings;
    MethodParameters:
             Name  Flags
      settings     final
      sslSettings  final

  public com.mongodb.connection.Stream create(com.mongodb.ServerAddress);
    descriptor: (Lcom/mongodb/ServerAddress;)Lcom/mongodb/connection/Stream;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=8, locals=2, args_size=2
        start local 0 // com.mongodb.connection.netty.NettyStreamFactory this
        start local 1 // com.mongodb.ServerAddress serverAddress
         0: .line 104
            new com.mongodb.connection.netty.NettyStream
            dup
            aload 1 /* serverAddress */
            aload 0 /* this */
            getfield com.mongodb.connection.netty.NettyStreamFactory.settings:Lcom/mongodb/connection/SocketSettings;
            aload 0 /* this */
            getfield com.mongodb.connection.netty.NettyStreamFactory.sslSettings:Lcom/mongodb/connection/SslSettings;
            aload 0 /* this */
            getfield com.mongodb.connection.netty.NettyStreamFactory.eventLoopGroup:Lio/netty/channel/EventLoopGroup;
            aload 0 /* this */
            getfield com.mongodb.connection.netty.NettyStreamFactory.socketChannelClass:Ljava/lang/Class;
            aload 0 /* this */
            getfield com.mongodb.connection.netty.NettyStreamFactory.allocator:Lio/netty/buffer/ByteBufAllocator;
            invokespecial com.mongodb.connection.netty.NettyStream.<init>:(Lcom/mongodb/ServerAddress;Lcom/mongodb/connection/SocketSettings;Lcom/mongodb/connection/SslSettings;Lio/netty/channel/EventLoopGroup;Ljava/lang/Class;Lio/netty/buffer/ByteBufAllocator;)V
            areturn
        end local 1 // com.mongodb.ServerAddress serverAddress
        end local 0 // com.mongodb.connection.netty.NettyStreamFactory this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    1     0           this  Lcom/mongodb/connection/netty/NettyStreamFactory;
            0    1     1  serverAddress  Lcom/mongodb/ServerAddress;
    MethodParameters:
               Name  Flags
      serverAddress  final
}
SourceFile: "NettyStreamFactory.java"