public abstract class org.apache.cassandra.io.util.DataOutputStreamPlus extends java.io.OutputStream implements org.apache.cassandra.io.util.DataOutputPlus
minor version: 0
major version: 59
flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
this_class: org.apache.cassandra.io.util.DataOutputStreamPlus
super_class: java.io.OutputStream
{
protected final java.nio.channels.WritableByteChannel channel;
descriptor: Ljava/nio/channels/WritableByteChannel;
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
private static int MAX_BUFFER_SIZE;
descriptor: I
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
private static final io.netty.util.concurrent.FastThreadLocal<byte[]> tempBuffer;
descriptor: Lio/netty/util/concurrent/FastThreadLocal;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
Signature: Lio/netty/util/concurrent/FastThreadLocal<[B>;
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=0, args_size=0
0: ldc "cassandra.data_output_stream_plus_temp_buffer_size"
sipush 8192
invokestatic java.lang.Integer.getInteger:(Ljava/lang/String;I)Ljava/lang/Integer;
invokevirtual java.lang.Integer.intValue:()I
1: putstatic org.apache.cassandra.io.util.DataOutputStreamPlus.MAX_BUFFER_SIZE:I
2: new org.apache.cassandra.io.util.DataOutputStreamPlus$1
dup
invokespecial org.apache.cassandra.io.util.DataOutputStreamPlus$1.<init>:()V
putstatic org.apache.cassandra.io.util.DataOutputStreamPlus.tempBuffer:Lio/netty/util/concurrent/FastThreadLocal;
3: return
LocalVariableTable:
Start End Slot Name Signature
protected void <init>();
descriptor: ()V
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
invokespecial java.io.OutputStream.<init>:()V
1: aload 0
aload 0
invokevirtual org.apache.cassandra.io.util.DataOutputStreamPlus.newDefaultChannel:()Ljava/nio/channels/WritableByteChannel;
putfield org.apache.cassandra.io.util.DataOutputStreamPlus.channel:Ljava/nio/channels/WritableByteChannel;
2: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/apache/cassandra/io/util/DataOutputStreamPlus;
protected void <init>(java.nio.channels.WritableByteChannel);
descriptor: (Ljava/nio/channels/WritableByteChannel;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokespecial java.io.OutputStream.<init>:()V
1: aload 0
aload 1
putfield org.apache.cassandra.io.util.DataOutputStreamPlus.channel:Ljava/nio/channels/WritableByteChannel;
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/apache/cassandra/io/util/DataOutputStreamPlus;
0 3 1 channel Ljava/nio/channels/WritableByteChannel;
MethodParameters:
Name Flags
channel
protected static byte[] retrieveTemporaryBuffer(int);
descriptor: (I)[B
flags: (0x000c) ACC_PROTECTED, ACC_STATIC
Code:
stack=3, locals=2, args_size=1
start local 0 0: getstatic org.apache.cassandra.io.util.DataOutputStreamPlus.tempBuffer:Lio/netty/util/concurrent/FastThreadLocal;
invokevirtual io.netty.util.concurrent.FastThreadLocal.get:()Ljava/lang/Object;
checkcast byte[]
astore 1
start local 1 1: aload 1
arraylength
iload 0
getstatic org.apache.cassandra.io.util.DataOutputStreamPlus.MAX_BUFFER_SIZE:I
invokestatic java.lang.Math.min:(II)I
if_icmpge 4
2: getstatic org.apache.cassandra.io.util.DataOutputStreamPlus.MAX_BUFFER_SIZE:I
iconst_2
iload 0
invokestatic java.lang.Integer.highestOneBit:(I)I
imul
invokestatic java.lang.Math.min:(II)I
newarray 8
astore 1
3: getstatic org.apache.cassandra.io.util.DataOutputStreamPlus.tempBuffer:Lio/netty/util/concurrent/FastThreadLocal;
aload 1
invokevirtual io.netty.util.concurrent.FastThreadLocal.set:(Ljava/lang/Object;)V
4: StackMap locals: byte[]
StackMap stack:
aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 minSize I
1 5 1 bytes [B
MethodParameters:
Name Flags
minSize
protected java.nio.channels.WritableByteChannel newDefaultChannel();
descriptor: ()Ljava/nio/channels/WritableByteChannel;
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=1, args_size=1
start local 0 0: new org.apache.cassandra.io.util.DataOutputStreamPlus$2
dup
aload 0
invokespecial org.apache.cassandra.io.util.DataOutputStreamPlus$2.<init>:(Lorg/apache/cassandra/io/util/DataOutputStreamPlus;)V
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/cassandra/io/util/DataOutputStreamPlus;
}
SourceFile: "DataOutputStreamPlus.java"
NestMembers:
org.apache.cassandra.io.util.DataOutputStreamPlus$1 org.apache.cassandra.io.util.DataOutputStreamPlus$2
InnerClasses:
org.apache.cassandra.io.util.DataOutputStreamPlus$1
org.apache.cassandra.io.util.DataOutputStreamPlus$2