class org.apache.cassandra.db.commitlog.CommitLogSegmentReader$EncryptedSegmenter implements org.apache.cassandra.db.commitlog.CommitLogSegmentReader$Segmenter
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: org.apache.cassandra.db.commitlog.CommitLogSegmentReader$EncryptedSegmenter
super_class: java.lang.Object
{
private final org.apache.cassandra.io.util.RandomAccessReader reader;
descriptor: Lorg/apache/cassandra/io/util/RandomAccessReader;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final org.apache.cassandra.io.compress.ICompressor compressor;
descriptor: Lorg/apache/cassandra/io/compress/ICompressor;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final javax.crypto.Cipher cipher;
descriptor: Ljavax/crypto/Cipher;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private java.nio.ByteBuffer decryptedBuffer;
descriptor: Ljava/nio/ByteBuffer;
flags: (0x0002) ACC_PRIVATE
private java.nio.ByteBuffer uncompressedBuffer;
descriptor: Ljava/nio/ByteBuffer;
flags: (0x0002) ACC_PRIVATE
private final org.apache.cassandra.db.commitlog.EncryptedFileSegmentInputStream$ChunkProvider chunkProvider;
descriptor: Lorg/apache/cassandra/db/commitlog/EncryptedFileSegmentInputStream$ChunkProvider;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private long currentSegmentEndPosition;
descriptor: J
flags: (0x0002) ACC_PRIVATE
private long nextLogicalStart;
descriptor: J
flags: (0x0002) ACC_PRIVATE
public void <init>(org.apache.cassandra.db.commitlog.CommitLogDescriptor, org.apache.cassandra.io.util.RandomAccessReader);
descriptor: (Lorg/apache/cassandra/db/commitlog/CommitLogDescriptor;Lorg/apache/cassandra/io/util/RandomAccessReader;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 2
aload 1
invokevirtual org.apache.cassandra.db.commitlog.CommitLogDescriptor.getEncryptionContext:()Lorg/apache/cassandra/security/EncryptionContext;
invokespecial org.apache.cassandra.db.commitlog.CommitLogSegmentReader$EncryptedSegmenter.<init>:(Lorg/apache/cassandra/io/util/RandomAccessReader;Lorg/apache/cassandra/security/EncryptionContext;)V
1: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/apache/cassandra/db/commitlog/CommitLogSegmentReader$EncryptedSegmenter;
0 2 1 descriptor Lorg/apache/cassandra/db/commitlog/CommitLogDescriptor;
0 2 2 reader Lorg/apache/cassandra/io/util/RandomAccessReader;
MethodParameters:
Name Flags
descriptor
reader
void <init>(org.apache.cassandra.io.util.RandomAccessReader, org.apache.cassandra.security.EncryptionContext);
descriptor: (Lorg/apache/cassandra/io/util/RandomAccessReader;Lorg/apache/cassandra/security/EncryptionContext;)V
flags: (0x0000)
Code:
stack=4, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
aload 1
putfield org.apache.cassandra.db.commitlog.CommitLogSegmentReader$EncryptedSegmenter.reader:Lorg/apache/cassandra/io/util/RandomAccessReader;
2: aload 0
iconst_0
invokestatic java.nio.ByteBuffer.allocate:(I)Ljava/nio/ByteBuffer;
putfield org.apache.cassandra.db.commitlog.CommitLogSegmentReader$EncryptedSegmenter.decryptedBuffer:Ljava/nio/ByteBuffer;
3: aload 0
aload 2
invokevirtual org.apache.cassandra.security.EncryptionContext.getCompressor:()Lorg/apache/cassandra/io/compress/ICompressor;
putfield org.apache.cassandra.db.commitlog.CommitLogSegmentReader$EncryptedSegmenter.compressor:Lorg/apache/cassandra/io/compress/ICompressor;
4: aload 0
aload 1
invokevirtual org.apache.cassandra.io.util.RandomAccessReader.getFilePointer:()J
putfield org.apache.cassandra.db.commitlog.CommitLogSegmentReader$EncryptedSegmenter.nextLogicalStart:J
5: aload 0
aload 2
invokevirtual org.apache.cassandra.security.EncryptionContext.getDecryptor:()Ljavax/crypto/Cipher;
putfield org.apache.cassandra.db.commitlog.CommitLogSegmentReader$EncryptedSegmenter.cipher:Ljavax/crypto/Cipher;
6: goto 9
7: StackMap locals: org.apache.cassandra.db.commitlog.CommitLogSegmentReader$EncryptedSegmenter org.apache.cassandra.io.util.RandomAccessReader org.apache.cassandra.security.EncryptionContext
StackMap stack: java.io.IOException
astore 3
start local 3 8: new org.apache.cassandra.io.FSReadError
dup
aload 3
aload 1
invokevirtual org.apache.cassandra.io.util.RandomAccessReader.getPath:()Ljava/lang/String;
invokespecial org.apache.cassandra.io.FSReadError.<init>:(Ljava/lang/Throwable;Ljava/lang/String;)V
athrow
end local 3 9: StackMap locals:
StackMap stack:
aload 0
aload 0
aload 1
invokedynamic nextChunk(Lorg/apache/cassandra/db/commitlog/CommitLogSegmentReader$EncryptedSegmenter;Lorg/apache/cassandra/io/util/RandomAccessReader;)Lorg/apache/cassandra/db/commitlog/EncryptedFileSegmentInputStream$ChunkProvider;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
()Ljava/nio/ByteBuffer;
org/apache/cassandra/db/commitlog/CommitLogSegmentReader$EncryptedSegmenter.lambda$0(Lorg/apache/cassandra/io/util/RandomAccessReader;)Ljava/nio/ByteBuffer; (7)
()Ljava/nio/ByteBuffer;
putfield org.apache.cassandra.db.commitlog.CommitLogSegmentReader$EncryptedSegmenter.chunkProvider:Lorg/apache/cassandra/db/commitlog/EncryptedFileSegmentInputStream$ChunkProvider;
10: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lorg/apache/cassandra/db/commitlog/CommitLogSegmentReader$EncryptedSegmenter;
0 11 1 reader Lorg/apache/cassandra/io/util/RandomAccessReader;
0 11 2 encryptionContext Lorg/apache/cassandra/security/EncryptionContext;
8 9 3 ioe Ljava/io/IOException;
Exception table:
from to target type
5 6 7 Class java.io.IOException
RuntimeInvisibleAnnotations:
com.google.common.annotations.VisibleForTesting()
RuntimeInvisibleTypeAnnotations:
METHOD_RETURN
com.google.common.annotations.VisibleForTesting()
MethodParameters:
Name Flags
reader final
encryptionContext
public org.apache.cassandra.db.commitlog.CommitLogSegmentReader$SyncSegment nextSegment(int, int);
descriptor: (II)Lorg/apache/cassandra/db/commitlog/CommitLogSegmentReader$SyncSegment;
flags: (0x0001) ACC_PUBLIC
Code:
stack=10, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield org.apache.cassandra.db.commitlog.CommitLogSegmentReader$EncryptedSegmenter.reader:Lorg/apache/cassandra/io/util/RandomAccessReader;
invokevirtual org.apache.cassandra.io.util.RandomAccessReader.readInt:()I
istore 3
start local 3 1: aload 0
iload 2
iconst_1
isub
i2l
putfield org.apache.cassandra.db.commitlog.CommitLogSegmentReader$EncryptedSegmenter.currentSegmentEndPosition:J
2: aload 0
dup
getfield org.apache.cassandra.db.commitlog.CommitLogSegmentReader$EncryptedSegmenter.nextLogicalStart:J
ldc 8
ladd
putfield org.apache.cassandra.db.commitlog.CommitLogSegmentReader$EncryptedSegmenter.nextLogicalStart:J
3: new org.apache.cassandra.db.commitlog.EncryptedFileSegmentInputStream
dup
aload 0
getfield org.apache.cassandra.db.commitlog.CommitLogSegmentReader$EncryptedSegmenter.reader:Lorg/apache/cassandra/io/util/RandomAccessReader;
invokevirtual org.apache.cassandra.io.util.RandomAccessReader.getPath:()Ljava/lang/String;
aload 0
getfield org.apache.cassandra.db.commitlog.CommitLogSegmentReader$EncryptedSegmenter.nextLogicalStart:J
iconst_0
iload 3
aload 0
getfield org.apache.cassandra.db.commitlog.CommitLogSegmentReader$EncryptedSegmenter.chunkProvider:Lorg/apache/cassandra/db/commitlog/EncryptedFileSegmentInputStream$ChunkProvider;
invokespecial org.apache.cassandra.db.commitlog.EncryptedFileSegmentInputStream.<init>:(Ljava/lang/String;JIILorg/apache/cassandra/db/commitlog/EncryptedFileSegmentInputStream$ChunkProvider;)V
astore 4
start local 4 4: aload 0
dup
getfield org.apache.cassandra.db.commitlog.CommitLogSegmentReader$EncryptedSegmenter.nextLogicalStart:J
iload 3
i2l
ladd
putfield org.apache.cassandra.db.commitlog.CommitLogSegmentReader$EncryptedSegmenter.nextLogicalStart:J
5: new org.apache.cassandra.db.commitlog.CommitLogSegmentReader$SyncSegment
dup
aload 4
iload 1
iload 2
aload 0
getfield org.apache.cassandra.db.commitlog.CommitLogSegmentReader$EncryptedSegmenter.nextLogicalStart:J
l2i
aload 0
iload 2
aload 0
getfield org.apache.cassandra.db.commitlog.CommitLogSegmentReader$EncryptedSegmenter.reader:Lorg/apache/cassandra/io/util/RandomAccessReader;
invokevirtual org.apache.cassandra.io.util.RandomAccessReader.length:()J
invokevirtual org.apache.cassandra.db.commitlog.CommitLogSegmentReader$EncryptedSegmenter.tolerateSegmentErrors:(IJ)Z
invokespecial org.apache.cassandra.db.commitlog.CommitLogSegmentReader$SyncSegment.<init>:(Lorg/apache/cassandra/io/util/FileDataInput;IIIZ)V
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lorg/apache/cassandra/db/commitlog/CommitLogSegmentReader$EncryptedSegmenter;
0 6 1 startPosition I
0 6 2 nextSectionStartPosition I
1 6 3 totalPlainTextLength I
4 6 4 input Lorg/apache/cassandra/io/util/FileDataInput;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
startPosition
nextSectionStartPosition
private java.nio.ByteBuffer lambda$0(org.apache.cassandra.io.util.RandomAccessReader);
descriptor: (Lorg/apache/cassandra/io/util/RandomAccessReader;)Ljava/nio/ByteBuffer;
flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
Code:
stack=5, locals=3, args_size=2
start local 0 0: aload 1
invokevirtual org.apache.cassandra.io.util.RandomAccessReader.getFilePointer:()J
aload 0
getfield org.apache.cassandra.db.commitlog.CommitLogSegmentReader$EncryptedSegmenter.currentSegmentEndPosition:J
lcmp
iflt 2
1: getstatic org.apache.cassandra.utils.ByteBufferUtil.EMPTY_BYTE_BUFFER:Ljava/nio/ByteBuffer;
areturn
2: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 0
getfield org.apache.cassandra.db.commitlog.CommitLogSegmentReader$EncryptedSegmenter.decryptedBuffer:Ljava/nio/ByteBuffer;
iconst_1
aload 0
getfield org.apache.cassandra.db.commitlog.CommitLogSegmentReader$EncryptedSegmenter.cipher:Ljavax/crypto/Cipher;
invokestatic org.apache.cassandra.security.EncryptionUtils.decrypt:(Lorg/apache/cassandra/io/util/FileDataInput;Ljava/nio/ByteBuffer;ZLjavax/crypto/Cipher;)Ljava/nio/ByteBuffer;
putfield org.apache.cassandra.db.commitlog.CommitLogSegmentReader$EncryptedSegmenter.decryptedBuffer:Ljava/nio/ByteBuffer;
3: aload 0
aload 0
getfield org.apache.cassandra.db.commitlog.CommitLogSegmentReader$EncryptedSegmenter.decryptedBuffer:Ljava/nio/ByteBuffer;
aload 0
getfield org.apache.cassandra.db.commitlog.CommitLogSegmentReader$EncryptedSegmenter.uncompressedBuffer:Ljava/nio/ByteBuffer;
iconst_1
aload 0
getfield org.apache.cassandra.db.commitlog.CommitLogSegmentReader$EncryptedSegmenter.compressor:Lorg/apache/cassandra/io/compress/ICompressor;
invokestatic org.apache.cassandra.security.EncryptionUtils.uncompress:(Ljava/nio/ByteBuffer;Ljava/nio/ByteBuffer;ZLorg/apache/cassandra/io/compress/ICompressor;)Ljava/nio/ByteBuffer;
putfield org.apache.cassandra.db.commitlog.CommitLogSegmentReader$EncryptedSegmenter.uncompressedBuffer:Ljava/nio/ByteBuffer;
4: aload 0
getfield org.apache.cassandra.db.commitlog.CommitLogSegmentReader$EncryptedSegmenter.uncompressedBuffer:Ljava/nio/ByteBuffer;
5: areturn
6: StackMap locals:
StackMap stack: java.io.IOException
astore 2
start local 2 7: new org.apache.cassandra.io.FSReadError
dup
aload 2
aload 1
invokevirtual org.apache.cassandra.io.util.RandomAccessReader.getPath:()Ljava/lang/String;
invokespecial org.apache.cassandra.io.FSReadError.<init>:(Ljava/lang/Throwable;Ljava/lang/String;)V
athrow
end local 2 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lorg/apache/cassandra/db/commitlog/CommitLogSegmentReader$EncryptedSegmenter;
7 8 2 e Ljava/io/IOException;
Exception table:
from to target type
2 5 6 Class java.io.IOException
}
SourceFile: "CommitLogSegmentReader.java"
NestHost: org.apache.cassandra.db.commitlog.CommitLogSegmentReader
InnerClasses:
public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
EncryptedSegmenter = org.apache.cassandra.db.commitlog.CommitLogSegmentReader$EncryptedSegmenter of org.apache.cassandra.db.commitlog.CommitLogSegmentReader
abstract Segmenter = org.apache.cassandra.db.commitlog.CommitLogSegmentReader$Segmenter of org.apache.cassandra.db.commitlog.CommitLogSegmentReader
public SyncSegment = org.apache.cassandra.db.commitlog.CommitLogSegmentReader$SyncSegment of org.apache.cassandra.db.commitlog.CommitLogSegmentReader
public abstract ChunkProvider = org.apache.cassandra.db.commitlog.EncryptedFileSegmentInputStream$ChunkProvider of org.apache.cassandra.db.commitlog.EncryptedFileSegmentInputStream