public final class org.apache.cassandra.io.util.ChannelProxy extends org.apache.cassandra.utils.concurrent.SharedCloseableImpl
minor version: 0
major version: 59
flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
this_class: org.apache.cassandra.io.util.ChannelProxy
super_class: org.apache.cassandra.utils.concurrent.SharedCloseableImpl
{
private final java.lang.String filePath;
descriptor: Ljava/lang/String;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.nio.channels.FileChannel channel;
descriptor: Ljava/nio/channels/FileChannel;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
public static java.nio.channels.FileChannel openChannel(java.io.File);
descriptor: (Ljava/io/File;)Ljava/nio/channels/FileChannel;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=2, args_size=1
start local 0 0: aload 0
invokevirtual java.io.File.toPath:()Ljava/nio/file/Path;
iconst_1
anewarray java.nio.file.OpenOption
dup
iconst_0
getstatic java.nio.file.StandardOpenOption.READ:Ljava/nio/file/StandardOpenOption;
aastore
invokestatic java.nio.channels.FileChannel.open:(Ljava/nio/file/Path;[Ljava/nio/file/OpenOption;)Ljava/nio/channels/FileChannel;
1: areturn
2: StackMap locals:
StackMap stack: java.io.IOException
astore 1
start local 1 3: new java.lang.RuntimeException
dup
aload 1
invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/Throwable;)V
athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 file Ljava/io/File;
3 4 1 e Ljava/io/IOException;
Exception table:
from to target type
0 1 2 Class java.io.IOException
MethodParameters:
Name Flags
file
public void <init>(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 0
new java.io.File
dup
aload 1
invokespecial java.io.File.<init>:(Ljava/lang/String;)V
invokespecial org.apache.cassandra.io.util.ChannelProxy.<init>:(Ljava/io/File;)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/apache/cassandra/io/util/ChannelProxy;
0 2 1 path Ljava/lang/String;
MethodParameters:
Name Flags
path
public void <init>(java.io.File);
descriptor: (Ljava/io/File;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual java.io.File.getPath:()Ljava/lang/String;
aload 1
invokestatic org.apache.cassandra.io.util.ChannelProxy.openChannel:(Ljava/io/File;)Ljava/nio/channels/FileChannel;
invokespecial org.apache.cassandra.io.util.ChannelProxy.<init>:(Ljava/lang/String;Ljava/nio/channels/FileChannel;)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/apache/cassandra/io/util/ChannelProxy;
0 2 1 file Ljava/io/File;
MethodParameters:
Name Flags
file
public void <init>(java.lang.String, java.nio.channels.FileChannel);
descriptor: (Ljava/lang/String;Ljava/nio/channels/FileChannel;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
new org.apache.cassandra.io.util.ChannelProxy$Cleanup
dup
aload 1
aload 2
invokespecial org.apache.cassandra.io.util.ChannelProxy$Cleanup.<init>:(Ljava/lang/String;Ljava/nio/channels/FileChannel;)V
invokespecial org.apache.cassandra.utils.concurrent.SharedCloseableImpl.<init>:(Lorg/apache/cassandra/utils/concurrent/RefCounted$Tidy;)V
1: aload 0
aload 1
putfield org.apache.cassandra.io.util.ChannelProxy.filePath:Ljava/lang/String;
2: aload 0
aload 2
putfield org.apache.cassandra.io.util.ChannelProxy.channel:Ljava/nio/channels/FileChannel;
3: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/apache/cassandra/io/util/ChannelProxy;
0 4 1 filePath Ljava/lang/String;
0 4 2 channel Ljava/nio/channels/FileChannel;
MethodParameters:
Name Flags
filePath
channel
public void <init>(org.apache.cassandra.io.util.ChannelProxy);
descriptor: (Lorg/apache/cassandra/io/util/ChannelProxy;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokespecial org.apache.cassandra.utils.concurrent.SharedCloseableImpl.<init>:(Lorg/apache/cassandra/utils/concurrent/SharedCloseableImpl;)V
1: aload 0
aload 1
getfield org.apache.cassandra.io.util.ChannelProxy.filePath:Ljava/lang/String;
putfield org.apache.cassandra.io.util.ChannelProxy.filePath:Ljava/lang/String;
2: aload 0
aload 1
getfield org.apache.cassandra.io.util.ChannelProxy.channel:Ljava/nio/channels/FileChannel;
putfield org.apache.cassandra.io.util.ChannelProxy.channel:Ljava/nio/channels/FileChannel;
3: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/apache/cassandra/io/util/ChannelProxy;
0 4 1 copy Lorg/apache/cassandra/io/util/ChannelProxy;
MethodParameters:
Name Flags
copy
public org.apache.cassandra.io.util.ChannelProxy sharedCopy();
descriptor: ()Lorg/apache/cassandra/io/util/ChannelProxy;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: new org.apache.cassandra.io.util.ChannelProxy
dup
aload 0
invokespecial org.apache.cassandra.io.util.ChannelProxy.<init>:(Lorg/apache/cassandra/io/util/ChannelProxy;)V
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/cassandra/io/util/ChannelProxy;
public java.lang.String filePath();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.apache.cassandra.io.util.ChannelProxy.filePath:Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/cassandra/io/util/ChannelProxy;
public int read(java.nio.ByteBuffer, long);
descriptor: (Ljava/nio/ByteBuffer;J)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield org.apache.cassandra.io.util.ChannelProxy.channel:Ljava/nio/channels/FileChannel;
aload 1
lload 2
invokevirtual java.nio.channels.FileChannel.read:(Ljava/nio/ByteBuffer;J)I
1: ireturn
2: StackMap locals:
StackMap stack: java.io.IOException
astore 4
start local 4 3: new org.apache.cassandra.io.FSReadError
dup
aload 4
aload 0
getfield org.apache.cassandra.io.util.ChannelProxy.filePath:Ljava/lang/String;
invokespecial org.apache.cassandra.io.FSReadError.<init>:(Ljava/lang/Throwable;Ljava/lang/String;)V
athrow
end local 4 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/apache/cassandra/io/util/ChannelProxy;
0 4 1 buffer Ljava/nio/ByteBuffer;
0 4 2 position J
3 4 4 e Ljava/io/IOException;
Exception table:
from to target type
0 1 2 Class java.io.IOException
MethodParameters:
Name Flags
buffer
position
public long transferTo(long, long, java.nio.channels.WritableByteChannel);
descriptor: (JJLjava/nio/channels/WritableByteChannel;)J
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=7, args_size=4
start local 0 start local 1 start local 3 start local 5 0: aload 0
getfield org.apache.cassandra.io.util.ChannelProxy.channel:Ljava/nio/channels/FileChannel;
lload 1
lload 3
aload 5
invokevirtual java.nio.channels.FileChannel.transferTo:(JJLjava/nio/channels/WritableByteChannel;)J
1: lreturn
2: StackMap locals:
StackMap stack: java.io.IOException
astore 6
start local 6 3: new org.apache.cassandra.io.FSReadError
dup
aload 6
aload 0
getfield org.apache.cassandra.io.util.ChannelProxy.filePath:Ljava/lang/String;
invokespecial org.apache.cassandra.io.FSReadError.<init>:(Ljava/lang/Throwable;Ljava/lang/String;)V
athrow
end local 6 end local 5 end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/apache/cassandra/io/util/ChannelProxy;
0 4 1 position J
0 4 3 count J
0 4 5 target Ljava/nio/channels/WritableByteChannel;
3 4 6 e Ljava/io/IOException;
Exception table:
from to target type
0 1 2 Class java.io.IOException
MethodParameters:
Name Flags
position
count
target
public java.nio.MappedByteBuffer map(java.nio.channels.FileChannel$MapMode, long, long);
descriptor: (Ljava/nio/channels/FileChannel$MapMode;JJ)Ljava/nio/MappedByteBuffer;
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=7, args_size=4
start local 0 start local 1 start local 2 start local 4 0: aload 0
getfield org.apache.cassandra.io.util.ChannelProxy.channel:Ljava/nio/channels/FileChannel;
aload 1
lload 2
lload 4
invokevirtual java.nio.channels.FileChannel.map:(Ljava/nio/channels/FileChannel$MapMode;JJ)Ljava/nio/MappedByteBuffer;
1: areturn
2: StackMap locals:
StackMap stack: java.io.IOException
astore 6
start local 6 3: new org.apache.cassandra.io.FSReadError
dup
aload 6
aload 0
getfield org.apache.cassandra.io.util.ChannelProxy.filePath:Ljava/lang/String;
invokespecial org.apache.cassandra.io.FSReadError.<init>:(Ljava/lang/Throwable;Ljava/lang/String;)V
athrow
end local 6 end local 4 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/apache/cassandra/io/util/ChannelProxy;
0 4 1 mode Ljava/nio/channels/FileChannel$MapMode;
0 4 2 position J
0 4 4 size J
3 4 6 e Ljava/io/IOException;
Exception table:
from to target type
0 1 2 Class java.io.IOException
MethodParameters:
Name Flags
mode
position
size
public long size();
descriptor: ()J
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=1
start local 0 0: aload 0
getfield org.apache.cassandra.io.util.ChannelProxy.channel:Ljava/nio/channels/FileChannel;
invokevirtual java.nio.channels.FileChannel.size:()J
1: lreturn
2: StackMap locals:
StackMap stack: java.io.IOException
astore 1
start local 1 3: new org.apache.cassandra.io.FSReadError
dup
aload 1
aload 0
getfield org.apache.cassandra.io.util.ChannelProxy.filePath:Ljava/lang/String;
invokespecial org.apache.cassandra.io.FSReadError.<init>:(Ljava/lang/Throwable;Ljava/lang/String;)V
athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/apache/cassandra/io/util/ChannelProxy;
3 4 1 e Ljava/io/IOException;
Exception table:
from to target type
0 1 2 Class java.io.IOException
public int getFileDescriptor();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.apache.cassandra.io.util.ChannelProxy.channel:Ljava/nio/channels/FileChannel;
invokestatic org.apache.cassandra.utils.NativeLibrary.getfd:(Ljava/nio/channels/FileChannel;)I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/cassandra/io/util/ChannelProxy;
public java.lang.String toString();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual org.apache.cassandra.io.util.ChannelProxy.filePath:()Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/cassandra/io/util/ChannelProxy;
public org.apache.cassandra.utils.concurrent.SharedCloseable sharedCopy();
descriptor: ()Lorg/apache/cassandra/utils/concurrent/SharedCloseable;
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=1, locals=1, args_size=1
0: aload 0
invokevirtual org.apache.cassandra.io.util.ChannelProxy.sharedCopy:()Lorg/apache/cassandra/io/util/ChannelProxy;
areturn
LocalVariableTable:
Start End Slot Name Signature
}
SourceFile: "ChannelProxy.java"
NestMembers:
org.apache.cassandra.io.util.ChannelProxy$Cleanup
InnerClasses:
public MapMode = java.nio.channels.FileChannel$MapMode of java.nio.channels.FileChannel
private final Cleanup = org.apache.cassandra.io.util.ChannelProxy$Cleanup of org.apache.cassandra.io.util.ChannelProxy
public abstract Tidy = org.apache.cassandra.utils.concurrent.RefCounted$Tidy of org.apache.cassandra.utils.concurrent.RefCounted