public final class io.netty.channel.unix.IovArray implements io.netty.channel.ChannelOutboundBuffer$MessageProcessor
minor version: 0
major version: 59
flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
this_class: io.netty.channel.unix.IovArray
super_class: java.lang.Object
{
private static final int ADDRESS_SIZE;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final int IOV_SIZE;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final int CAPACITY;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private final long memoryAddress;
descriptor: J
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private int count;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private long size;
descriptor: J
flags: (0x0002) ACC_PRIVATE
private long maxBytes;
descriptor: J
flags: (0x0002) ACC_PRIVATE
static final boolean $assertionsDisabled;
descriptor: Z
flags: (0x1018) ACC_STATIC, ACC_FINAL, ACC_SYNTHETIC
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=0, args_size=0
0: ldc Lio/netty/channel/unix/IovArray;
invokevirtual java.lang.Class.desiredAssertionStatus:()Z
ifne 1
iconst_1
goto 2
StackMap locals:
StackMap stack:
1: iconst_0
StackMap locals:
StackMap stack: int
2: putstatic io.netty.channel.unix.IovArray.$assertionsDisabled:Z
3: invokestatic io.netty.util.internal.PlatformDependent.addressSize:()I
putstatic io.netty.channel.unix.IovArray.ADDRESS_SIZE:I
4: iconst_2
getstatic io.netty.channel.unix.IovArray.ADDRESS_SIZE:I
imul
putstatic io.netty.channel.unix.IovArray.IOV_SIZE:I
5: getstatic io.netty.channel.unix.Limits.IOV_MAX:I
getstatic io.netty.channel.unix.IovArray.IOV_SIZE:I
imul
putstatic io.netty.channel.unix.IovArray.CAPACITY:I
return
LocalVariableTable:
Start End Slot Name Signature
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
getstatic io.netty.channel.unix.Limits.SSIZE_MAX:J
putfield io.netty.channel.unix.IovArray.maxBytes:J
2: aload 0
getstatic io.netty.channel.unix.IovArray.CAPACITY:I
i2l
invokestatic io.netty.util.internal.PlatformDependent.allocateMemory:(J)J
putfield io.netty.channel.unix.IovArray.memoryAddress:J
3: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lio/netty/channel/unix/IovArray;
public void clear();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
iconst_0
putfield io.netty.channel.unix.IovArray.count:I
1: aload 0
lconst_0
putfield io.netty.channel.unix.IovArray.size:J
2: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lio/netty/channel/unix/IovArray;
public boolean add(io.netty.buffer.ByteBuf);
descriptor: (Lio/netty/buffer/ByteBuf;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=8, args_size=2
start local 0 start local 1 0: aload 0
getfield io.netty.channel.unix.IovArray.count:I
getstatic io.netty.channel.unix.Limits.IOV_MAX:I
if_icmpne 2
1: iconst_0
ireturn
2: StackMap locals:
StackMap stack:
aload 1
invokevirtual io.netty.buffer.ByteBuf.hasMemoryAddress:()Z
ifeq 6
aload 1
invokevirtual io.netty.buffer.ByteBuf.nioBufferCount:()I
iconst_1
if_icmpne 6
3: aload 1
invokevirtual io.netty.buffer.ByteBuf.readableBytes:()I
istore 2
start local 2 4: iload 2
ifeq 5
aload 0
aload 1
invokevirtual io.netty.buffer.ByteBuf.memoryAddress:()J
aload 1
invokevirtual io.netty.buffer.ByteBuf.readerIndex:()I
iload 2
invokevirtual io.netty.channel.unix.IovArray.add:(JII)Z
ifne 5
iconst_0
ireturn
StackMap locals: int
StackMap stack:
5: iconst_1
ireturn
end local 2 6: StackMap locals:
StackMap stack:
aload 1
invokevirtual io.netty.buffer.ByteBuf.nioBuffers:()[Ljava/nio/ByteBuffer;
astore 2
start local 2 7: aload 2
dup
astore 6
arraylength
istore 5
iconst_0
istore 4
goto 13
StackMap locals: io.netty.channel.unix.IovArray io.netty.buffer.ByteBuf java.nio.ByteBuffer[] top int int java.nio.ByteBuffer[]
StackMap stack:
8: aload 6
iload 4
aaload
astore 3
start local 3 9: aload 3
invokevirtual java.nio.ByteBuffer.remaining:()I
istore 7
start local 7 10: iload 7
ifeq 12
aload 0
aload 3
invokestatic io.netty.util.internal.PlatformDependent.directBufferAddress:(Ljava/nio/ByteBuffer;)J
aload 3
invokevirtual java.nio.ByteBuffer.position:()I
iload 7
invokevirtual io.netty.channel.unix.IovArray.add:(JII)Z
ifeq 11
aload 0
getfield io.netty.channel.unix.IovArray.count:I
getstatic io.netty.channel.unix.Limits.IOV_MAX:I
if_icmpne 12
11: StackMap locals: io.netty.channel.unix.IovArray io.netty.buffer.ByteBuf java.nio.ByteBuffer[] java.nio.ByteBuffer int int java.nio.ByteBuffer[] int
StackMap stack:
iconst_0
ireturn
end local 7 end local 3 12: StackMap locals: io.netty.channel.unix.IovArray io.netty.buffer.ByteBuf java.nio.ByteBuffer[] top int int java.nio.ByteBuffer[]
StackMap stack:
iinc 4 1
StackMap locals:
StackMap stack:
13: iload 4
iload 5
if_icmplt 8
14: iconst_1
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 15 0 this Lio/netty/channel/unix/IovArray;
0 15 1 buf Lio/netty/buffer/ByteBuf;
4 6 2 len I
7 15 2 buffers [Ljava/nio/ByteBuffer;
9 12 3 nioBuffer Ljava/nio/ByteBuffer;
10 12 7 len I
MethodParameters:
Name Flags
buf
private boolean add(long, int, int);
descriptor: (JII)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=9, args_size=4
start local 0 start local 1 start local 3 start local 4 0: aload 0
aload 0
getfield io.netty.channel.unix.IovArray.count:I
invokevirtual io.netty.channel.unix.IovArray.memoryAddress:(I)J
lstore 5
start local 5 1: lload 5
getstatic io.netty.channel.unix.IovArray.ADDRESS_SIZE:I
i2l
ladd
lstore 7
start local 7 2: aload 0
getfield io.netty.channel.unix.IovArray.maxBytes:J
iload 4
i2l
lsub
aload 0
getfield io.netty.channel.unix.IovArray.size:J
lcmp
ifge 4
aload 0
getfield io.netty.channel.unix.IovArray.count:I
ifle 4
3: iconst_0
ireturn
4: StackMap locals: long long
StackMap stack:
aload 0
dup
getfield io.netty.channel.unix.IovArray.size:J
iload 4
i2l
ladd
putfield io.netty.channel.unix.IovArray.size:J
5: aload 0
dup
getfield io.netty.channel.unix.IovArray.count:I
iconst_1
iadd
putfield io.netty.channel.unix.IovArray.count:I
6: getstatic io.netty.channel.unix.IovArray.ADDRESS_SIZE:I
bipush 8
if_icmpne 10
7: lload 5
lload 1
iload 3
i2l
ladd
invokestatic io.netty.util.internal.PlatformDependent.putLong:(JJ)V
8: lload 7
iload 4
i2l
invokestatic io.netty.util.internal.PlatformDependent.putLong:(JJ)V
9: goto 13
10: StackMap locals:
StackMap stack:
getstatic io.netty.channel.unix.IovArray.$assertionsDisabled:Z
ifne 11
getstatic io.netty.channel.unix.IovArray.ADDRESS_SIZE:I
iconst_4
if_icmpeq 11
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
11: StackMap locals:
StackMap stack:
lload 5
lload 1
l2i
iload 3
iadd
invokestatic io.netty.util.internal.PlatformDependent.putInt:(JI)V
12: lload 7
iload 4
invokestatic io.netty.util.internal.PlatformDependent.putInt:(JI)V
13: StackMap locals:
StackMap stack:
iconst_1
ireturn
end local 7 end local 5 end local 4 end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 this Lio/netty/channel/unix/IovArray;
0 14 1 addr J
0 14 3 offset I
0 14 4 len I
1 14 5 baseOffset J
2 14 7 lengthOffset J
MethodParameters:
Name Flags
addr
offset
len
public int count();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield io.netty.channel.unix.IovArray.count:I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/netty/channel/unix/IovArray;
public long size();
descriptor: ()J
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield io.netty.channel.unix.IovArray.size:J
lreturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/netty/channel/unix/IovArray;
public void maxBytes(long);
descriptor: (J)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getstatic io.netty.channel.unix.Limits.SSIZE_MAX:J
lload 1
ldc "maxBytes"
invokestatic io.netty.util.internal.ObjectUtil.checkPositive:(JLjava/lang/String;)J
invokestatic java.lang.Math.min:(JJ)J
putfield io.netty.channel.unix.IovArray.maxBytes:J
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lio/netty/channel/unix/IovArray;
0 2 1 maxBytes J
MethodParameters:
Name Flags
maxBytes
public long maxBytes();
descriptor: ()J
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield io.netty.channel.unix.IovArray.maxBytes:J
lreturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/netty/channel/unix/IovArray;
public long memoryAddress(int);
descriptor: (I)J
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield io.netty.channel.unix.IovArray.memoryAddress:J
getstatic io.netty.channel.unix.IovArray.IOV_SIZE:I
iload 1
imul
i2l
ladd
lreturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/netty/channel/unix/IovArray;
0 1 1 offset I
MethodParameters:
Name Flags
offset
public void release();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield io.netty.channel.unix.IovArray.memoryAddress:J
invokestatic io.netty.util.internal.PlatformDependent.freeMemory:(J)V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lio/netty/channel/unix/IovArray;
public boolean processMessage(java.lang.Object);
descriptor: (Ljava/lang/Object;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 1
instanceof io.netty.buffer.ByteBuf
ifeq 1
aload 0
aload 1
checkcast io.netty.buffer.ByteBuf
invokevirtual io.netty.channel.unix.IovArray.add:(Lio/netty/buffer/ByteBuf;)Z
ifeq 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lio/netty/channel/unix/IovArray;
0 2 1 msg Ljava/lang/Object;
Exceptions:
throws java.lang.Exception
MethodParameters:
Name Flags
msg
}
SourceFile: "IovArray.java"
InnerClasses:
public abstract MessageProcessor = io.netty.channel.ChannelOutboundBuffer$MessageProcessor of io.netty.channel.ChannelOutboundBuffer