final class com.mongodb.internal.connection.AsynchronousSocketChannelStream$AsynchronousSocketChannelAdapter implements com.mongodb.internal.connection.ExtendedAsynchronousByteChannel
  minor version: 0
  major version: 59
  flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
  this_class: com.mongodb.internal.connection.AsynchronousSocketChannelStream$AsynchronousSocketChannelAdapter
  super_class: java.lang.Object
{
  private final java.nio.channels.AsynchronousSocketChannel channel;
    descriptor: Ljava/nio/channels/AsynchronousSocketChannel;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private void <init>(java.nio.channels.AsynchronousSocketChannel);
    descriptor: (Ljava/nio/channels/AsynchronousSocketChannel;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.mongodb.internal.connection.AsynchronousSocketChannelStream$AsynchronousSocketChannelAdapter this
        start local 1 // java.nio.channels.AsynchronousSocketChannel channel
         0: .line 130
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 131
            aload 0 /* this */
            aload 1 /* channel */
            putfield com.mongodb.internal.connection.AsynchronousSocketChannelStream$AsynchronousSocketChannelAdapter.channel:Ljava/nio/channels/AsynchronousSocketChannel;
         2: .line 132
            return
        end local 1 // java.nio.channels.AsynchronousSocketChannel channel
        end local 0 // com.mongodb.internal.connection.AsynchronousSocketChannelStream$AsynchronousSocketChannelAdapter this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    3     0     this  Lcom/mongodb/internal/connection/AsynchronousSocketChannelStream$AsynchronousSocketChannelAdapter;
            0    3     1  channel  Ljava/nio/channels/AsynchronousSocketChannel;
    MethodParameters:
         Name  Flags
      channel  final

  public <A> void read(java.nio.ByteBuffer, long, java.util.concurrent.TimeUnit, A, java.nio.channels.CompletionHandler<java.lang.Integer, ? super A>);
    descriptor: (Ljava/nio/ByteBuffer;JLjava/util/concurrent/TimeUnit;Ljava/lang/Object;Ljava/nio/channels/CompletionHandler;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=7, args_size=6
        start local 0 // com.mongodb.internal.connection.AsynchronousSocketChannelStream$AsynchronousSocketChannelAdapter this
        start local 1 // java.nio.ByteBuffer dst
        start local 2 // long timeout
        start local 4 // java.util.concurrent.TimeUnit unit
        start local 5 // java.lang.Object attach
        start local 6 // java.nio.channels.CompletionHandler handler
         0: .line 137
            aload 0 /* this */
            getfield com.mongodb.internal.connection.AsynchronousSocketChannelStream$AsynchronousSocketChannelAdapter.channel:Ljava/nio/channels/AsynchronousSocketChannel;
            aload 1 /* dst */
            lload 2 /* timeout */
            aload 4 /* unit */
            aload 5 /* attach */
            aload 6 /* handler */
            invokevirtual java.nio.channels.AsynchronousSocketChannel.read:(Ljava/nio/ByteBuffer;JLjava/util/concurrent/TimeUnit;Ljava/lang/Object;Ljava/nio/channels/CompletionHandler;)V
         1: .line 138
            return
        end local 6 // java.nio.channels.CompletionHandler handler
        end local 5 // java.lang.Object attach
        end local 4 // java.util.concurrent.TimeUnit unit
        end local 2 // long timeout
        end local 1 // java.nio.ByteBuffer dst
        end local 0 // com.mongodb.internal.connection.AsynchronousSocketChannelStream$AsynchronousSocketChannelAdapter this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Lcom/mongodb/internal/connection/AsynchronousSocketChannelStream$AsynchronousSocketChannelAdapter;
            0    2     1      dst  Ljava/nio/ByteBuffer;
            0    2     2  timeout  J
            0    2     4     unit  Ljava/util/concurrent/TimeUnit;
            0    2     5   attach  TA;
            0    2     6  handler  Ljava/nio/channels/CompletionHandler<Ljava/lang/Integer;-TA;>;
    Signature: <A:Ljava/lang/Object;>(Ljava/nio/ByteBuffer;JLjava/util/concurrent/TimeUnit;TA;Ljava/nio/channels/CompletionHandler<Ljava/lang/Integer;-TA;>;)V
    MethodParameters:
         Name  Flags
      dst      final
      timeout  final
      unit     final
      attach   final
      handler  final

  public <A> void read(java.nio.ByteBuffer[], int, int, long, java.util.concurrent.TimeUnit, A, java.nio.channels.CompletionHandler<java.lang.Long, ? super A>);
    descriptor: ([Ljava/nio/ByteBuffer;IIJLjava/util/concurrent/TimeUnit;Ljava/lang/Object;Ljava/nio/channels/CompletionHandler;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=9, locals=9, args_size=8
        start local 0 // com.mongodb.internal.connection.AsynchronousSocketChannelStream$AsynchronousSocketChannelAdapter this
        start local 1 // java.nio.ByteBuffer[] dsts
        start local 2 // int offset
        start local 3 // int length
        start local 4 // long timeout
        start local 6 // java.util.concurrent.TimeUnit unit
        start local 7 // java.lang.Object attach
        start local 8 // java.nio.channels.CompletionHandler handler
         0: .line 143
            aload 0 /* this */
            getfield com.mongodb.internal.connection.AsynchronousSocketChannelStream$AsynchronousSocketChannelAdapter.channel:Ljava/nio/channels/AsynchronousSocketChannel;
            aload 1 /* dsts */
            iload 2 /* offset */
            iload 3 /* length */
            lload 4 /* timeout */
            aload 6 /* unit */
            aload 7 /* attach */
            aload 8 /* handler */
            invokevirtual java.nio.channels.AsynchronousSocketChannel.read:([Ljava/nio/ByteBuffer;IIJLjava/util/concurrent/TimeUnit;Ljava/lang/Object;Ljava/nio/channels/CompletionHandler;)V
         1: .line 144
            return
        end local 8 // java.nio.channels.CompletionHandler handler
        end local 7 // java.lang.Object attach
        end local 6 // java.util.concurrent.TimeUnit unit
        end local 4 // long timeout
        end local 3 // int length
        end local 2 // int offset
        end local 1 // java.nio.ByteBuffer[] dsts
        end local 0 // com.mongodb.internal.connection.AsynchronousSocketChannelStream$AsynchronousSocketChannelAdapter this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Lcom/mongodb/internal/connection/AsynchronousSocketChannelStream$AsynchronousSocketChannelAdapter;
            0    2     1     dsts  [Ljava/nio/ByteBuffer;
            0    2     2   offset  I
            0    2     3   length  I
            0    2     4  timeout  J
            0    2     6     unit  Ljava/util/concurrent/TimeUnit;
            0    2     7   attach  TA;
            0    2     8  handler  Ljava/nio/channels/CompletionHandler<Ljava/lang/Long;-TA;>;
    Signature: <A:Ljava/lang/Object;>([Ljava/nio/ByteBuffer;IIJLjava/util/concurrent/TimeUnit;TA;Ljava/nio/channels/CompletionHandler<Ljava/lang/Long;-TA;>;)V
    MethodParameters:
         Name  Flags
      dsts     final
      offset   final
      length   final
      timeout  final
      unit     final
      attach   final
      handler  final

  public <A> void write(java.nio.ByteBuffer, long, java.util.concurrent.TimeUnit, A, java.nio.channels.CompletionHandler<java.lang.Integer, ? super A>);
    descriptor: (Ljava/nio/ByteBuffer;JLjava/util/concurrent/TimeUnit;Ljava/lang/Object;Ljava/nio/channels/CompletionHandler;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=7, args_size=6
        start local 0 // com.mongodb.internal.connection.AsynchronousSocketChannelStream$AsynchronousSocketChannelAdapter this
        start local 1 // java.nio.ByteBuffer src
        start local 2 // long timeout
        start local 4 // java.util.concurrent.TimeUnit unit
        start local 5 // java.lang.Object attach
        start local 6 // java.nio.channels.CompletionHandler handler
         0: .line 149
            aload 0 /* this */
            getfield com.mongodb.internal.connection.AsynchronousSocketChannelStream$AsynchronousSocketChannelAdapter.channel:Ljava/nio/channels/AsynchronousSocketChannel;
            aload 1 /* src */
            lload 2 /* timeout */
            aload 4 /* unit */
            aload 5 /* attach */
            aload 6 /* handler */
            invokevirtual java.nio.channels.AsynchronousSocketChannel.write:(Ljava/nio/ByteBuffer;JLjava/util/concurrent/TimeUnit;Ljava/lang/Object;Ljava/nio/channels/CompletionHandler;)V
         1: .line 150
            return
        end local 6 // java.nio.channels.CompletionHandler handler
        end local 5 // java.lang.Object attach
        end local 4 // java.util.concurrent.TimeUnit unit
        end local 2 // long timeout
        end local 1 // java.nio.ByteBuffer src
        end local 0 // com.mongodb.internal.connection.AsynchronousSocketChannelStream$AsynchronousSocketChannelAdapter this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Lcom/mongodb/internal/connection/AsynchronousSocketChannelStream$AsynchronousSocketChannelAdapter;
            0    2     1      src  Ljava/nio/ByteBuffer;
            0    2     2  timeout  J
            0    2     4     unit  Ljava/util/concurrent/TimeUnit;
            0    2     5   attach  TA;
            0    2     6  handler  Ljava/nio/channels/CompletionHandler<Ljava/lang/Integer;-TA;>;
    Signature: <A:Ljava/lang/Object;>(Ljava/nio/ByteBuffer;JLjava/util/concurrent/TimeUnit;TA;Ljava/nio/channels/CompletionHandler<Ljava/lang/Integer;-TA;>;)V
    MethodParameters:
         Name  Flags
      src      final
      timeout  final
      unit     final
      attach   final
      handler  final

  public <A> void write(java.nio.ByteBuffer[], int, int, long, java.util.concurrent.TimeUnit, A, java.nio.channels.CompletionHandler<java.lang.Long, ? super A>);
    descriptor: ([Ljava/nio/ByteBuffer;IIJLjava/util/concurrent/TimeUnit;Ljava/lang/Object;Ljava/nio/channels/CompletionHandler;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=9, locals=9, args_size=8
        start local 0 // com.mongodb.internal.connection.AsynchronousSocketChannelStream$AsynchronousSocketChannelAdapter this
        start local 1 // java.nio.ByteBuffer[] srcs
        start local 2 // int offset
        start local 3 // int length
        start local 4 // long timeout
        start local 6 // java.util.concurrent.TimeUnit unit
        start local 7 // java.lang.Object attach
        start local 8 // java.nio.channels.CompletionHandler handler
         0: .line 155
            aload 0 /* this */
            getfield com.mongodb.internal.connection.AsynchronousSocketChannelStream$AsynchronousSocketChannelAdapter.channel:Ljava/nio/channels/AsynchronousSocketChannel;
            aload 1 /* srcs */
            iload 2 /* offset */
            iload 3 /* length */
            lload 4 /* timeout */
            aload 6 /* unit */
            aload 7 /* attach */
            aload 8 /* handler */
            invokevirtual java.nio.channels.AsynchronousSocketChannel.write:([Ljava/nio/ByteBuffer;IIJLjava/util/concurrent/TimeUnit;Ljava/lang/Object;Ljava/nio/channels/CompletionHandler;)V
         1: .line 156
            return
        end local 8 // java.nio.channels.CompletionHandler handler
        end local 7 // java.lang.Object attach
        end local 6 // java.util.concurrent.TimeUnit unit
        end local 4 // long timeout
        end local 3 // int length
        end local 2 // int offset
        end local 1 // java.nio.ByteBuffer[] srcs
        end local 0 // com.mongodb.internal.connection.AsynchronousSocketChannelStream$AsynchronousSocketChannelAdapter this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Lcom/mongodb/internal/connection/AsynchronousSocketChannelStream$AsynchronousSocketChannelAdapter;
            0    2     1     srcs  [Ljava/nio/ByteBuffer;
            0    2     2   offset  I
            0    2     3   length  I
            0    2     4  timeout  J
            0    2     6     unit  Ljava/util/concurrent/TimeUnit;
            0    2     7   attach  TA;
            0    2     8  handler  Ljava/nio/channels/CompletionHandler<Ljava/lang/Long;-TA;>;
    Signature: <A:Ljava/lang/Object;>([Ljava/nio/ByteBuffer;IIJLjava/util/concurrent/TimeUnit;TA;Ljava/nio/channels/CompletionHandler<Ljava/lang/Long;-TA;>;)V
    MethodParameters:
         Name  Flags
      srcs     final
      offset   final
      length   final
      timeout  final
      unit     final
      attach   final
      handler  final

  public <A> void read(java.nio.ByteBuffer, A, java.nio.channels.CompletionHandler<java.lang.Integer, ? super A>);
    descriptor: (Ljava/nio/ByteBuffer;Ljava/lang/Object;Ljava/nio/channels/CompletionHandler;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // com.mongodb.internal.connection.AsynchronousSocketChannelStream$AsynchronousSocketChannelAdapter this
        start local 1 // java.nio.ByteBuffer dst
        start local 2 // java.lang.Object attachment
        start local 3 // java.nio.channels.CompletionHandler handler
         0: .line 160
            aload 0 /* this */
            getfield com.mongodb.internal.connection.AsynchronousSocketChannelStream$AsynchronousSocketChannelAdapter.channel:Ljava/nio/channels/AsynchronousSocketChannel;
            aload 1 /* dst */
            aload 2 /* attachment */
            aload 3 /* handler */
            invokevirtual java.nio.channels.AsynchronousSocketChannel.read:(Ljava/nio/ByteBuffer;Ljava/lang/Object;Ljava/nio/channels/CompletionHandler;)V
         1: .line 161
            return
        end local 3 // java.nio.channels.CompletionHandler handler
        end local 2 // java.lang.Object attachment
        end local 1 // java.nio.ByteBuffer dst
        end local 0 // com.mongodb.internal.connection.AsynchronousSocketChannelStream$AsynchronousSocketChannelAdapter this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    2     0        this  Lcom/mongodb/internal/connection/AsynchronousSocketChannelStream$AsynchronousSocketChannelAdapter;
            0    2     1         dst  Ljava/nio/ByteBuffer;
            0    2     2  attachment  TA;
            0    2     3     handler  Ljava/nio/channels/CompletionHandler<Ljava/lang/Integer;-TA;>;
    Signature: <A:Ljava/lang/Object;>(Ljava/nio/ByteBuffer;TA;Ljava/nio/channels/CompletionHandler<Ljava/lang/Integer;-TA;>;)V
    MethodParameters:
            Name  Flags
      dst         final
      attachment  final
      handler     final

  public java.util.concurrent.Future<java.lang.Integer> read(java.nio.ByteBuffer);
    descriptor: (Ljava/nio/ByteBuffer;)Ljava/util/concurrent/Future;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.mongodb.internal.connection.AsynchronousSocketChannelStream$AsynchronousSocketChannelAdapter this
        start local 1 // java.nio.ByteBuffer dst
         0: .line 165
            aload 0 /* this */
            getfield com.mongodb.internal.connection.AsynchronousSocketChannelStream$AsynchronousSocketChannelAdapter.channel:Ljava/nio/channels/AsynchronousSocketChannel;
            aload 1 /* dst */
            invokevirtual java.nio.channels.AsynchronousSocketChannel.read:(Ljava/nio/ByteBuffer;)Ljava/util/concurrent/Future;
            areturn
        end local 1 // java.nio.ByteBuffer dst
        end local 0 // com.mongodb.internal.connection.AsynchronousSocketChannelStream$AsynchronousSocketChannelAdapter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/mongodb/internal/connection/AsynchronousSocketChannelStream$AsynchronousSocketChannelAdapter;
            0    1     1   dst  Ljava/nio/ByteBuffer;
    Signature: (Ljava/nio/ByteBuffer;)Ljava/util/concurrent/Future<Ljava/lang/Integer;>;
    MethodParameters:
      Name  Flags
      dst   final

  public <A> void write(java.nio.ByteBuffer, A, java.nio.channels.CompletionHandler<java.lang.Integer, ? super A>);
    descriptor: (Ljava/nio/ByteBuffer;Ljava/lang/Object;Ljava/nio/channels/CompletionHandler;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // com.mongodb.internal.connection.AsynchronousSocketChannelStream$AsynchronousSocketChannelAdapter this
        start local 1 // java.nio.ByteBuffer src
        start local 2 // java.lang.Object attachment
        start local 3 // java.nio.channels.CompletionHandler handler
         0: .line 170
            aload 0 /* this */
            getfield com.mongodb.internal.connection.AsynchronousSocketChannelStream$AsynchronousSocketChannelAdapter.channel:Ljava/nio/channels/AsynchronousSocketChannel;
            aload 1 /* src */
            aload 2 /* attachment */
            aload 3 /* handler */
            invokevirtual java.nio.channels.AsynchronousSocketChannel.write:(Ljava/nio/ByteBuffer;Ljava/lang/Object;Ljava/nio/channels/CompletionHandler;)V
         1: .line 171
            return
        end local 3 // java.nio.channels.CompletionHandler handler
        end local 2 // java.lang.Object attachment
        end local 1 // java.nio.ByteBuffer src
        end local 0 // com.mongodb.internal.connection.AsynchronousSocketChannelStream$AsynchronousSocketChannelAdapter this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    2     0        this  Lcom/mongodb/internal/connection/AsynchronousSocketChannelStream$AsynchronousSocketChannelAdapter;
            0    2     1         src  Ljava/nio/ByteBuffer;
            0    2     2  attachment  TA;
            0    2     3     handler  Ljava/nio/channels/CompletionHandler<Ljava/lang/Integer;-TA;>;
    Signature: <A:Ljava/lang/Object;>(Ljava/nio/ByteBuffer;TA;Ljava/nio/channels/CompletionHandler<Ljava/lang/Integer;-TA;>;)V
    MethodParameters:
            Name  Flags
      src         final
      attachment  final
      handler     final

  public java.util.concurrent.Future<java.lang.Integer> write(java.nio.ByteBuffer);
    descriptor: (Ljava/nio/ByteBuffer;)Ljava/util/concurrent/Future;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.mongodb.internal.connection.AsynchronousSocketChannelStream$AsynchronousSocketChannelAdapter this
        start local 1 // java.nio.ByteBuffer src
         0: .line 175
            aload 0 /* this */
            getfield com.mongodb.internal.connection.AsynchronousSocketChannelStream$AsynchronousSocketChannelAdapter.channel:Ljava/nio/channels/AsynchronousSocketChannel;
            aload 1 /* src */
            invokevirtual java.nio.channels.AsynchronousSocketChannel.write:(Ljava/nio/ByteBuffer;)Ljava/util/concurrent/Future;
            areturn
        end local 1 // java.nio.ByteBuffer src
        end local 0 // com.mongodb.internal.connection.AsynchronousSocketChannelStream$AsynchronousSocketChannelAdapter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/mongodb/internal/connection/AsynchronousSocketChannelStream$AsynchronousSocketChannelAdapter;
            0    1     1   src  Ljava/nio/ByteBuffer;
    Signature: (Ljava/nio/ByteBuffer;)Ljava/util/concurrent/Future<Ljava/lang/Integer;>;
    MethodParameters:
      Name  Flags
      src   final

  public boolean isOpen();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.mongodb.internal.connection.AsynchronousSocketChannelStream$AsynchronousSocketChannelAdapter this
         0: .line 180
            aload 0 /* this */
            getfield com.mongodb.internal.connection.AsynchronousSocketChannelStream$AsynchronousSocketChannelAdapter.channel:Ljava/nio/channels/AsynchronousSocketChannel;
            invokevirtual java.nio.channels.AsynchronousSocketChannel.isOpen:()Z
            ireturn
        end local 0 // com.mongodb.internal.connection.AsynchronousSocketChannelStream$AsynchronousSocketChannelAdapter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/mongodb/internal/connection/AsynchronousSocketChannelStream$AsynchronousSocketChannelAdapter;

  public void close();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.mongodb.internal.connection.AsynchronousSocketChannelStream$AsynchronousSocketChannelAdapter this
         0: .line 185
            aload 0 /* this */
            getfield com.mongodb.internal.connection.AsynchronousSocketChannelStream$AsynchronousSocketChannelAdapter.channel:Ljava/nio/channels/AsynchronousSocketChannel;
            invokevirtual java.nio.channels.AsynchronousSocketChannel.close:()V
         1: .line 186
            return
        end local 0 // com.mongodb.internal.connection.AsynchronousSocketChannelStream$AsynchronousSocketChannelAdapter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/mongodb/internal/connection/AsynchronousSocketChannelStream$AsynchronousSocketChannelAdapter;
    Exceptions:
      throws java.io.IOException
}
SourceFile: "AsynchronousSocketChannelStream.java"
NestHost: com.mongodb.internal.connection.AsynchronousSocketChannelStream
InnerClasses:
  private final AsynchronousSocketChannelAdapter = com.mongodb.internal.connection.AsynchronousSocketChannelStream$AsynchronousSocketChannelAdapter of com.mongodb.internal.connection.AsynchronousSocketChannelStream