final class org.apache.cassandra.hints.HintsBuffer$Allocation implements java.lang.AutoCloseable
  minor version: 0
  major version: 59
  flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
  this_class: org.apache.cassandra.hints.HintsBuffer$Allocation
  super_class: java.lang.Object
{
  private final java.lang.Integer offset;
    descriptor: Ljava/lang/Integer;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final int totalSize;
    descriptor: I
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final org.apache.cassandra.utils.concurrent.OpOrder$Group opGroup;
    descriptor: Lorg/apache/cassandra/utils/concurrent/OpOrder$Group;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  final org.apache.cassandra.hints.HintsBuffer this$0;
    descriptor: Lorg/apache/cassandra/hints/HintsBuffer;
    flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC

  void <init>(org.apache.cassandra.hints.HintsBuffer, int, int, org.apache.cassandra.utils.concurrent.OpOrder$Group);
    descriptor: (Lorg/apache/cassandra/hints/HintsBuffer;IILorg/apache/cassandra/utils/concurrent/OpOrder$Group;)V
    flags: (0x0000) 
    Code:
      stack=2, locals=5, args_size=5
        start local 0 // org.apache.cassandra.hints.HintsBuffer$Allocation this
        start local 2 // int offset
        start local 3 // int totalSize
        start local 4 // org.apache.cassandra.utils.concurrent.OpOrder$Group opGroup
         0: .line 221
            aload 0 /* this */
            aload 1
            putfield org.apache.cassandra.hints.HintsBuffer$Allocation.this$0:Lorg/apache/cassandra/hints/HintsBuffer;
         1: .line 220
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         2: .line 222
            aload 0 /* this */
            iload 2 /* offset */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            putfield org.apache.cassandra.hints.HintsBuffer$Allocation.offset:Ljava/lang/Integer;
         3: .line 223
            aload 0 /* this */
            iload 3 /* totalSize */
            putfield org.apache.cassandra.hints.HintsBuffer$Allocation.totalSize:I
         4: .line 224
            aload 0 /* this */
            aload 4 /* opGroup */
            putfield org.apache.cassandra.hints.HintsBuffer$Allocation.opGroup:Lorg/apache/cassandra/utils/concurrent/OpOrder$Group;
         5: .line 225
            return
        end local 4 // org.apache.cassandra.utils.concurrent.OpOrder$Group opGroup
        end local 3 // int totalSize
        end local 2 // int offset
        end local 0 // org.apache.cassandra.hints.HintsBuffer$Allocation this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    6     0       this  Lorg/apache/cassandra/hints/HintsBuffer$Allocation;
            0    6     2     offset  I
            0    6     3  totalSize  I
            0    6     4    opGroup  Lorg/apache/cassandra/utils/concurrent/OpOrder$Group;
    MethodParameters:
           Name  Flags
      this$0     final
      offset     
      totalSize  
      opGroup    

  void write(java.lang.Iterable<java.util.UUID>, org.apache.cassandra.hints.Hint);
    descriptor: (Ljava/lang/Iterable;Lorg/apache/cassandra/hints/Hint;)V
    flags: (0x0000) 
    Code:
      stack=3, locals=5, args_size=3
        start local 0 // org.apache.cassandra.hints.HintsBuffer$Allocation this
        start local 1 // java.lang.Iterable hostIds
        start local 2 // org.apache.cassandra.hints.Hint hint
         0: .line 229
            aload 0 /* this */
            aload 2 /* hint */
            invokevirtual org.apache.cassandra.hints.HintsBuffer$Allocation.write:(Lorg/apache/cassandra/hints/Hint;)V
         1: .line 230
            aload 1 /* hostIds */
            invokeinterface java.lang.Iterable.iterator:()Ljava/util/Iterator;
            astore 4
            goto 4
      StackMap locals: org.apache.cassandra.hints.HintsBuffer$Allocation java.lang.Iterable org.apache.cassandra.hints.Hint top java.util.Iterator
      StackMap stack:
         2: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.util.UUID
            astore 3 /* hostId */
        start local 3 // java.util.UUID hostId
         3: .line 231
            aload 0 /* this */
            getfield org.apache.cassandra.hints.HintsBuffer$Allocation.this$0:Lorg/apache/cassandra/hints/HintsBuffer;
            aload 3 /* hostId */
            aload 0 /* this */
            getfield org.apache.cassandra.hints.HintsBuffer$Allocation.offset:Ljava/lang/Integer;
            invokevirtual java.lang.Integer.intValue:()I
            invokevirtual org.apache.cassandra.hints.HintsBuffer.put:(Ljava/util/UUID;I)V
        end local 3 // java.util.UUID hostId
         4: .line 230
      StackMap locals:
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 2
         5: .line 232
            return
        end local 2 // org.apache.cassandra.hints.Hint hint
        end local 1 // java.lang.Iterable hostIds
        end local 0 // org.apache.cassandra.hints.HintsBuffer$Allocation this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    6     0     this  Lorg/apache/cassandra/hints/HintsBuffer$Allocation;
            0    6     1  hostIds  Ljava/lang/Iterable<Ljava/util/UUID;>;
            0    6     2     hint  Lorg/apache/cassandra/hints/Hint;
            3    4     3   hostId  Ljava/util/UUID;
    Signature: (Ljava/lang/Iterable<Ljava/util/UUID;>;Lorg/apache/cassandra/hints/Hint;)V
    MethodParameters:
         Name  Flags
      hostIds  
      hint     

  public void close();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.cassandra.hints.HintsBuffer$Allocation this
         0: .line 236
            aload 0 /* this */
            getfield org.apache.cassandra.hints.HintsBuffer$Allocation.opGroup:Lorg/apache/cassandra/utils/concurrent/OpOrder$Group;
            invokevirtual org.apache.cassandra.utils.concurrent.OpOrder$Group.close:()V
         1: .line 237
            return
        end local 0 // org.apache.cassandra.hints.HintsBuffer$Allocation this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/apache/cassandra/hints/HintsBuffer$Allocation;

  private void write(org.apache.cassandra.hints.Hint);
    descriptor: (Lorg/apache/cassandra/hints/Hint;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=8, args_size=2
        start local 0 // org.apache.cassandra.hints.HintsBuffer$Allocation this
        start local 1 // org.apache.cassandra.hints.Hint hint
         0: .line 241
            aload 0 /* this */
            getfield org.apache.cassandra.hints.HintsBuffer$Allocation.this$0:Lorg/apache/cassandra/hints/HintsBuffer;
            getfield org.apache.cassandra.hints.HintsBuffer.slab:Ljava/nio/ByteBuffer;
            invokevirtual java.nio.ByteBuffer.duplicate:()Ljava/nio/ByteBuffer;
            aload 0 /* this */
            getfield org.apache.cassandra.hints.HintsBuffer$Allocation.offset:Ljava/lang/Integer;
            invokevirtual java.lang.Integer.intValue:()I
            invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/Buffer;
            aload 0 /* this */
            getfield org.apache.cassandra.hints.HintsBuffer$Allocation.offset:Ljava/lang/Integer;
            invokevirtual java.lang.Integer.intValue:()I
            aload 0 /* this */
            getfield org.apache.cassandra.hints.HintsBuffer$Allocation.totalSize:I
            iadd
            invokevirtual java.nio.Buffer.limit:(I)Ljava/nio/Buffer;
            checkcast java.nio.ByteBuffer
            astore 2 /* buffer */
        start local 2 // java.nio.ByteBuffer buffer
         1: .line 242
            new java.util.zip.CRC32
            dup
            invokespecial java.util.zip.CRC32.<init>:()V
            astore 3 /* crc */
        start local 3 // java.util.zip.CRC32 crc
         2: .line 243
            aload 0 /* this */
            getfield org.apache.cassandra.hints.HintsBuffer$Allocation.totalSize:I
            bipush 12
            isub
            istore 4 /* hintSize */
        start local 4 // int hintSize
         3: .line 244
            aconst_null
            astore 5
            aconst_null
            astore 6
         4: new org.apache.cassandra.io.util.DataOutputBufferFixed
            dup
            aload 2 /* buffer */
            invokespecial org.apache.cassandra.io.util.DataOutputBufferFixed.<init>:(Ljava/nio/ByteBuffer;)V
            astore 7 /* dop */
        start local 7 // org.apache.cassandra.io.util.DataOutputBuffer dop
         5: .line 246
            aload 7 /* dop */
            iload 4 /* hintSize */
            invokevirtual org.apache.cassandra.io.util.DataOutputBuffer.writeInt:(I)V
         6: .line 247
            aload 3 /* crc */
            iload 4 /* hintSize */
            invokestatic org.apache.cassandra.utils.FBUtilities.updateChecksumInt:(Ljava/util/zip/Checksum;I)V
         7: .line 248
            aload 7 /* dop */
            aload 3 /* crc */
            invokevirtual java.util.zip.CRC32.getValue:()J
            l2i
            invokevirtual org.apache.cassandra.io.util.DataOutputBuffer.writeInt:(I)V
         8: .line 250
            getstatic org.apache.cassandra.hints.Hint.serializer:Lorg/apache/cassandra/hints/Hint$Serializer;
            aload 1 /* hint */
            aload 7 /* dop */
            getstatic org.apache.cassandra.net.MessagingService.current_version:I
            invokevirtual org.apache.cassandra.hints.Hint$Serializer.serialize:(Lorg/apache/cassandra/hints/Hint;Lorg/apache/cassandra/io/util/DataOutputPlus;I)V
         9: .line 251
            aload 3 /* crc */
            aload 2 /* buffer */
            aload 2 /* buffer */
            invokevirtual java.nio.ByteBuffer.position:()I
            iload 4 /* hintSize */
            isub
            iload 4 /* hintSize */
            invokestatic org.apache.cassandra.utils.FBUtilities.updateChecksum:(Ljava/util/zip/CRC32;Ljava/nio/ByteBuffer;II)V
        10: .line 252
            aload 7 /* dop */
            aload 3 /* crc */
            invokevirtual java.util.zip.CRC32.getValue:()J
            l2i
            invokevirtual org.apache.cassandra.io.util.DataOutputBuffer.writeInt:(I)V
        11: .line 253
            aload 7 /* dop */
            ifnull 19
            aload 7 /* dop */
            invokevirtual org.apache.cassandra.io.util.DataOutputBuffer.close:()V
            goto 19
      StackMap locals: org.apache.cassandra.hints.HintsBuffer$Allocation org.apache.cassandra.hints.Hint java.nio.ByteBuffer java.util.zip.CRC32 int java.lang.Throwable java.lang.Throwable org.apache.cassandra.io.util.DataOutputBuffer
      StackMap stack: java.lang.Throwable
        12: astore 5
            aload 7 /* dop */
            ifnull 13
            aload 7 /* dop */
            invokevirtual org.apache.cassandra.io.util.DataOutputBuffer.close:()V
        end local 7 // org.apache.cassandra.io.util.DataOutputBuffer dop
      StackMap locals:
      StackMap stack:
        13: aload 5
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        14: astore 6
            aload 5
            ifnonnull 15
            aload 6
            astore 5
            goto 16
      StackMap locals:
      StackMap stack:
        15: aload 5
            aload 6
            if_acmpeq 16
            aload 5
            aload 6
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        16: aload 5
            athrow
        17: .line 254
      StackMap locals: org.apache.cassandra.hints.HintsBuffer$Allocation org.apache.cassandra.hints.Hint java.nio.ByteBuffer java.util.zip.CRC32 int
      StackMap stack: java.io.IOException
            pop
        18: .line 256
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        19: .line 258
      StackMap locals:
      StackMap stack:
            return
        end local 4 // int hintSize
        end local 3 // java.util.zip.CRC32 crc
        end local 2 // java.nio.ByteBuffer buffer
        end local 1 // org.apache.cassandra.hints.Hint hint
        end local 0 // org.apache.cassandra.hints.HintsBuffer$Allocation this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   20     0      this  Lorg/apache/cassandra/hints/HintsBuffer$Allocation;
            0   20     1      hint  Lorg/apache/cassandra/hints/Hint;
            1   20     2    buffer  Ljava/nio/ByteBuffer;
            2   20     3       crc  Ljava/util/zip/CRC32;
            3   20     4  hintSize  I
            5   13     7       dop  Lorg/apache/cassandra/io/util/DataOutputBuffer;
      Exception table:
        from    to  target  type
           5    11      12  any
           4    14      14  any
           3    17      17  Class java.io.IOException
    MethodParameters:
      Name  Flags
      hint  
}
SourceFile: "HintsBuffer.java"
NestHost: org.apache.cassandra.hints.HintsBuffer
InnerClasses:
  final Serializer = org.apache.cassandra.hints.Hint$Serializer of org.apache.cassandra.hints.Hint
  final Allocation = org.apache.cassandra.hints.HintsBuffer$Allocation of org.apache.cassandra.hints.HintsBuffer
  public final Group = org.apache.cassandra.utils.concurrent.OpOrder$Group of org.apache.cassandra.utils.concurrent.OpOrder