public abstract class org.apache.cassandra.db.commitlog.FileDirectSegment extends org.apache.cassandra.db.commitlog.CommitLogSegment
minor version: 0
major version: 59
flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
this_class: org.apache.cassandra.db.commitlog.FileDirectSegment
super_class: org.apache.cassandra.db.commitlog.CommitLogSegment
{
volatile long lastWrittenPos;
descriptor: J
flags: (0x0040) ACC_VOLATILE
void <init>(org.apache.cassandra.db.commitlog.CommitLog, org.apache.cassandra.db.commitlog.AbstractCommitLogSegmentManager);
descriptor: (Lorg/apache/cassandra/db/commitlog/CommitLog;Lorg/apache/cassandra/db/commitlog/AbstractCommitLogSegmentManager;)V
flags: (0x0000)
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
aload 2
invokespecial org.apache.cassandra.db.commitlog.CommitLogSegment.<init>:(Lorg/apache/cassandra/db/commitlog/CommitLog;Lorg/apache/cassandra/db/commitlog/AbstractCommitLogSegmentManager;)V
1: aload 0
lconst_0
putfield org.apache.cassandra.db.commitlog.FileDirectSegment.lastWrittenPos:J
2: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/apache/cassandra/db/commitlog/FileDirectSegment;
0 3 1 commitLog Lorg/apache/cassandra/db/commitlog/CommitLog;
0 3 2 manager Lorg/apache/cassandra/db/commitlog/AbstractCommitLogSegmentManager;
MethodParameters:
Name Flags
commitLog
manager
void writeLogHeader();
descriptor: ()V
flags: (0x0000)
Code:
stack=6, locals=2, args_size=1
start local 0 0: aload 0
invokespecial org.apache.cassandra.db.commitlog.CommitLogSegment.writeLogHeader:()V
1: aload 0
getfield org.apache.cassandra.db.commitlog.FileDirectSegment.channel:Ljava/nio/channels/FileChannel;
aload 0
getfield org.apache.cassandra.db.commitlog.FileDirectSegment.buffer:Ljava/nio/ByteBuffer;
invokevirtual java.nio.ByteBuffer.duplicate:()Ljava/nio/ByteBuffer;
invokevirtual java.nio.ByteBuffer.flip:()Ljava/nio/Buffer;
checkcast java.nio.ByteBuffer
invokevirtual java.nio.channels.FileChannel.write:(Ljava/nio/ByteBuffer;)I
pop
2: aload 0
getfield org.apache.cassandra.db.commitlog.FileDirectSegment.manager:Lorg/apache/cassandra/db/commitlog/AbstractCommitLogSegmentManager;
aload 0
aload 0
getfield org.apache.cassandra.db.commitlog.FileDirectSegment.buffer:Ljava/nio/ByteBuffer;
invokevirtual java.nio.ByteBuffer.position:()I
i2l
dup2_x1
putfield org.apache.cassandra.db.commitlog.FileDirectSegment.lastWrittenPos:J
invokevirtual org.apache.cassandra.db.commitlog.AbstractCommitLogSegmentManager.addSize:(J)V
3: goto 6
4: StackMap locals:
StackMap stack: java.io.IOException
astore 1
start local 1 5: new org.apache.cassandra.io.FSWriteError
dup
aload 1
aload 0
invokevirtual org.apache.cassandra.db.commitlog.FileDirectSegment.getPath:()Ljava/lang/String;
invokespecial org.apache.cassandra.io.FSWriteError.<init>:(Ljava/lang/Throwable;Ljava/lang/String;)V
athrow
end local 1 6: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lorg/apache/cassandra/db/commitlog/FileDirectSegment;
5 6 1 e Ljava/io/IOException;
Exception table:
from to target type
1 3 4 Class java.io.IOException
protected void internalClose();
descriptor: ()V
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
getfield org.apache.cassandra.db.commitlog.FileDirectSegment.manager:Lorg/apache/cassandra/db/commitlog/AbstractCommitLogSegmentManager;
invokevirtual org.apache.cassandra.db.commitlog.AbstractCommitLogSegmentManager.getBufferPool:()Lorg/apache/cassandra/db/commitlog/SimpleCachedBufferPool;
aload 0
getfield org.apache.cassandra.db.commitlog.FileDirectSegment.buffer:Ljava/nio/ByteBuffer;
invokevirtual org.apache.cassandra.db.commitlog.SimpleCachedBufferPool.releaseBuffer:(Ljava/nio/ByteBuffer;)V
1: aload 0
invokespecial org.apache.cassandra.db.commitlog.CommitLogSegment.internalClose:()V
2: goto 6
3: StackMap locals:
StackMap stack: java.lang.Throwable
astore 1
4: aload 0
getfield org.apache.cassandra.db.commitlog.FileDirectSegment.manager:Lorg/apache/cassandra/db/commitlog/AbstractCommitLogSegmentManager;
invokevirtual org.apache.cassandra.db.commitlog.AbstractCommitLogSegmentManager.notifyBufferFreed:()V
5: aload 1
athrow
6: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.cassandra.db.commitlog.FileDirectSegment.manager:Lorg/apache/cassandra/db/commitlog/AbstractCommitLogSegmentManager;
invokevirtual org.apache.cassandra.db.commitlog.AbstractCommitLogSegmentManager.notifyBufferFreed:()V
7: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lorg/apache/cassandra/db/commitlog/FileDirectSegment;
Exception table:
from to target type
0 3 3 any
protected void flush(int, int);
descriptor: (II)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=4, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield org.apache.cassandra.db.commitlog.FileDirectSegment.channel:Ljava/nio/channels/FileChannel;
iconst_1
invokestatic org.apache.cassandra.utils.SyncUtil.force:(Ljava/nio/channels/FileChannel;Z)V
1: goto 4
2: StackMap locals:
StackMap stack: java.lang.Exception
astore 3
start local 3 3: new org.apache.cassandra.io.FSWriteError
dup
aload 3
aload 0
invokevirtual org.apache.cassandra.db.commitlog.FileDirectSegment.getPath:()Ljava/lang/String;
invokespecial org.apache.cassandra.io.FSWriteError.<init>:(Ljava/lang/Throwable;Ljava/lang/String;)V
athrow
end local 3 4: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/apache/cassandra/db/commitlog/FileDirectSegment;
0 5 1 startMarker I
0 5 2 nextMarker I
3 4 3 e Ljava/lang/Exception;
Exception table:
from to target type
0 1 2 Class java.lang.Exception
MethodParameters:
Name Flags
startMarker
nextMarker
}
SourceFile: "FileDirectSegment.java"