public class io.vertx.core.file.impl.AsyncFileImpl implements io.vertx.core.file.AsyncFile
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: io.vertx.core.file.impl.AsyncFileImpl
super_class: java.lang.Object
{
private static final io.vertx.core.logging.Logger log;
descriptor: Lio/vertx/core/logging/Logger;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
public static final int DEFAULT_READ_BUFFER_SIZE;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 8192
private final io.vertx.core.impl.VertxInternal vertx;
descriptor: Lio/vertx/core/impl/VertxInternal;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.nio.channels.AsynchronousFileChannel ch;
descriptor: Ljava/nio/channels/AsynchronousFileChannel;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final io.vertx.core.impl.ContextInternal context;
descriptor: Lio/vertx/core/impl/ContextInternal;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private boolean closed;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private java.lang.Runnable closedDeferred;
descriptor: Ljava/lang/Runnable;
flags: (0x0002) ACC_PRIVATE
private long writesOutstanding;
descriptor: J
flags: (0x0002) ACC_PRIVATE
private io.vertx.core.Handler<java.lang.Throwable> exceptionHandler;
descriptor: Lio/vertx/core/Handler;
flags: (0x0002) ACC_PRIVATE
Signature: Lio/vertx/core/Handler<Ljava/lang/Throwable;>;
private io.vertx.core.Handler<java.lang.Void> drainHandler;
descriptor: Lio/vertx/core/Handler;
flags: (0x0002) ACC_PRIVATE
Signature: Lio/vertx/core/Handler<Ljava/lang/Void;>;
private long writePos;
descriptor: J
flags: (0x0002) ACC_PRIVATE
private int maxWrites;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private int lwm;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private int readBufferSize;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private io.vertx.core.streams.impl.InboundBuffer<io.vertx.core.buffer.Buffer> queue;
descriptor: Lio/vertx/core/streams/impl/InboundBuffer;
flags: (0x0002) ACC_PRIVATE
Signature: Lio/vertx/core/streams/impl/InboundBuffer<Lio/vertx/core/buffer/Buffer;>;
private io.vertx.core.Handler<io.vertx.core.buffer.Buffer> handler;
descriptor: Lio/vertx/core/Handler;
flags: (0x0002) ACC_PRIVATE
Signature: Lio/vertx/core/Handler<Lio/vertx/core/buffer/Buffer;>;
private io.vertx.core.Handler<java.lang.Void> endHandler;
descriptor: Lio/vertx/core/Handler;
flags: (0x0002) ACC_PRIVATE
Signature: Lio/vertx/core/Handler<Ljava/lang/Void;>;
private long readPos;
descriptor: J
flags: (0x0002) ACC_PRIVATE
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: ldc Lio/vertx/core/file/AsyncFile;
invokestatic io.vertx.core.logging.LoggerFactory.getLogger:(Ljava/lang/Class;)Lio/vertx/core/logging/Logger;
putstatic io.vertx.core.file.impl.AsyncFileImpl.log:Lio/vertx/core/logging/Logger;
1: return
LocalVariableTable:
Start End Slot Name Signature
void <init>(io.vertx.core.impl.VertxInternal, java.lang.String, io.vertx.core.file.OpenOptions, io.vertx.core.impl.ContextInternal);
descriptor: (Lio/vertx/core/impl/VertxInternal;Ljava/lang/String;Lio/vertx/core/file/OpenOptions;Lio/vertx/core/impl/ContextInternal;)V
flags: (0x0000)
Code:
stack=8, locals=8, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
ldc 131072
putfield io.vertx.core.file.impl.AsyncFileImpl.maxWrites:I
2: aload 0
aload 0
getfield io.vertx.core.file.impl.AsyncFileImpl.maxWrites:I
iconst_2
idiv
putfield io.vertx.core.file.impl.AsyncFileImpl.lwm:I
3: aload 0
sipush 8192
putfield io.vertx.core.file.impl.AsyncFileImpl.readBufferSize:I
4: aload 3
invokevirtual io.vertx.core.file.OpenOptions.isRead:()Z
ifne 6
aload 3
invokevirtual io.vertx.core.file.OpenOptions.isWrite:()Z
ifne 6
5: new io.vertx.core.file.FileSystemException
dup
ldc "Cannot open file for neither reading nor writing"
invokespecial io.vertx.core.file.FileSystemException.<init>:(Ljava/lang/String;)V
athrow
6: StackMap locals: io.vertx.core.file.impl.AsyncFileImpl io.vertx.core.impl.VertxInternal java.lang.String io.vertx.core.file.OpenOptions io.vertx.core.impl.ContextInternal
StackMap stack:
aload 0
aload 1
putfield io.vertx.core.file.impl.AsyncFileImpl.vertx:Lio/vertx/core/impl/VertxInternal;
7: aload 2
iconst_0
anewarray java.lang.String
invokestatic java.nio.file.Paths.get:(Ljava/lang/String;[Ljava/lang/String;)Ljava/nio/file/Path;
astore 5
start local 5 8: new java.util.HashSet
dup
invokespecial java.util.HashSet.<init>:()V
astore 6
start local 6 9: aload 3
invokevirtual io.vertx.core.file.OpenOptions.isRead:()Z
ifeq 10
aload 6
getstatic java.nio.file.StandardOpenOption.READ:Ljava/nio/file/StandardOpenOption;
invokevirtual java.util.HashSet.add:(Ljava/lang/Object;)Z
pop
10: StackMap locals: java.nio.file.Path java.util.HashSet
StackMap stack:
aload 3
invokevirtual io.vertx.core.file.OpenOptions.isWrite:()Z
ifeq 11
aload 6
getstatic java.nio.file.StandardOpenOption.WRITE:Ljava/nio/file/StandardOpenOption;
invokevirtual java.util.HashSet.add:(Ljava/lang/Object;)Z
pop
11: StackMap locals:
StackMap stack:
aload 3
invokevirtual io.vertx.core.file.OpenOptions.isCreate:()Z
ifeq 12
aload 6
getstatic java.nio.file.StandardOpenOption.CREATE:Ljava/nio/file/StandardOpenOption;
invokevirtual java.util.HashSet.add:(Ljava/lang/Object;)Z
pop
12: StackMap locals:
StackMap stack:
aload 3
invokevirtual io.vertx.core.file.OpenOptions.isCreateNew:()Z
ifeq 13
aload 6
getstatic java.nio.file.StandardOpenOption.CREATE_NEW:Ljava/nio/file/StandardOpenOption;
invokevirtual java.util.HashSet.add:(Ljava/lang/Object;)Z
pop
13: StackMap locals:
StackMap stack:
aload 3
invokevirtual io.vertx.core.file.OpenOptions.isSync:()Z
ifeq 14
aload 6
getstatic java.nio.file.StandardOpenOption.SYNC:Ljava/nio/file/StandardOpenOption;
invokevirtual java.util.HashSet.add:(Ljava/lang/Object;)Z
pop
14: StackMap locals:
StackMap stack:
aload 3
invokevirtual io.vertx.core.file.OpenOptions.isDsync:()Z
ifeq 15
aload 6
getstatic java.nio.file.StandardOpenOption.DSYNC:Ljava/nio/file/StandardOpenOption;
invokevirtual java.util.HashSet.add:(Ljava/lang/Object;)Z
pop
15: StackMap locals:
StackMap stack:
aload 3
invokevirtual io.vertx.core.file.OpenOptions.isDeleteOnClose:()Z
ifeq 16
aload 6
getstatic java.nio.file.StandardOpenOption.DELETE_ON_CLOSE:Ljava/nio/file/StandardOpenOption;
invokevirtual java.util.HashSet.add:(Ljava/lang/Object;)Z
pop
16: StackMap locals:
StackMap stack:
aload 3
invokevirtual io.vertx.core.file.OpenOptions.isSparse:()Z
ifeq 17
aload 6
getstatic java.nio.file.StandardOpenOption.SPARSE:Ljava/nio/file/StandardOpenOption;
invokevirtual java.util.HashSet.add:(Ljava/lang/Object;)Z
pop
17: StackMap locals:
StackMap stack:
aload 3
invokevirtual io.vertx.core.file.OpenOptions.isTruncateExisting:()Z
ifeq 18
aload 6
getstatic java.nio.file.StandardOpenOption.TRUNCATE_EXISTING:Ljava/nio/file/StandardOpenOption;
invokevirtual java.util.HashSet.add:(Ljava/lang/Object;)Z
pop
18: StackMap locals:
StackMap stack:
aload 3
invokevirtual io.vertx.core.file.OpenOptions.getPerms:()Ljava/lang/String;
ifnull 22
19: aload 3
invokevirtual io.vertx.core.file.OpenOptions.getPerms:()Ljava/lang/String;
invokestatic java.nio.file.attribute.PosixFilePermissions.fromString:(Ljava/lang/String;)Ljava/util/Set;
invokestatic java.nio.file.attribute.PosixFilePermissions.asFileAttribute:(Ljava/util/Set;)Ljava/nio/file/attribute/FileAttribute;
astore 7
start local 7 20: aload 0
aload 5
aload 6
aload 1
invokeinterface io.vertx.core.impl.VertxInternal.getWorkerPool:()Ljava/util/concurrent/ExecutorService;
iconst_1
anewarray java.nio.file.attribute.FileAttribute
dup
iconst_0
aload 7
aastore
invokestatic java.nio.channels.AsynchronousFileChannel.open:(Ljava/nio/file/Path;Ljava/util/Set;Ljava/util/concurrent/ExecutorService;[Ljava/nio/file/attribute/FileAttribute;)Ljava/nio/channels/AsynchronousFileChannel;
putfield io.vertx.core.file.impl.AsyncFileImpl.ch:Ljava/nio/channels/AsynchronousFileChannel;
end local 7 21: goto 23
22: StackMap locals:
StackMap stack:
aload 0
aload 5
aload 6
aload 1
invokeinterface io.vertx.core.impl.VertxInternal.getWorkerPool:()Ljava/util/concurrent/ExecutorService;
iconst_0
anewarray java.nio.file.attribute.FileAttribute
invokestatic java.nio.channels.AsynchronousFileChannel.open:(Ljava/nio/file/Path;Ljava/util/Set;Ljava/util/concurrent/ExecutorService;[Ljava/nio/file/attribute/FileAttribute;)Ljava/nio/channels/AsynchronousFileChannel;
putfield io.vertx.core.file.impl.AsyncFileImpl.ch:Ljava/nio/channels/AsynchronousFileChannel;
23: StackMap locals:
StackMap stack:
aload 3
invokevirtual io.vertx.core.file.OpenOptions.isAppend:()Z
ifeq 27
aload 0
aload 0
getfield io.vertx.core.file.impl.AsyncFileImpl.ch:Ljava/nio/channels/AsynchronousFileChannel;
invokevirtual java.nio.channels.AsynchronousFileChannel.size:()J
putfield io.vertx.core.file.impl.AsyncFileImpl.writePos:J
24: goto 27
StackMap locals:
StackMap stack: java.io.IOException
25: astore 7
start local 7 26: new io.vertx.core.file.FileSystemException
dup
aload 7
invokespecial io.vertx.core.file.FileSystemException.<init>:(Ljava/lang/Throwable;)V
athrow
end local 7 27: StackMap locals:
StackMap stack:
aload 0
aload 4
putfield io.vertx.core.file.impl.AsyncFileImpl.context:Lio/vertx/core/impl/ContextInternal;
28: aload 0
new io.vertx.core.streams.impl.InboundBuffer
dup
aload 4
lconst_0
invokespecial io.vertx.core.streams.impl.InboundBuffer.<init>:(Lio/vertx/core/Context;J)V
putfield io.vertx.core.file.impl.AsyncFileImpl.queue:Lio/vertx/core/streams/impl/InboundBuffer;
29: aload 0
getfield io.vertx.core.file.impl.AsyncFileImpl.queue:Lio/vertx/core/streams/impl/InboundBuffer;
aload 0
invokedynamic handle(Lio/vertx/core/file/impl/AsyncFileImpl;)Lio/vertx/core/Handler;
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/lang/Object;)V
io/vertx/core/file/impl/AsyncFileImpl.lambda$0(Lio/vertx/core/buffer/Buffer;)V (7)
(Lio/vertx/core/buffer/Buffer;)V
invokevirtual io.vertx.core.streams.impl.InboundBuffer.handler:(Lio/vertx/core/Handler;)Lio/vertx/core/streams/impl/InboundBuffer;
pop
30: aload 0
getfield io.vertx.core.file.impl.AsyncFileImpl.queue:Lio/vertx/core/streams/impl/InboundBuffer;
aload 0
invokedynamic handle(Lio/vertx/core/file/impl/AsyncFileImpl;)Lio/vertx/core/Handler;
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/lang/Object;)V
io/vertx/core/file/impl/AsyncFileImpl.lambda$1(Ljava/lang/Void;)V (7)
(Ljava/lang/Void;)V
invokevirtual io.vertx.core.streams.impl.InboundBuffer.drainHandler:(Lio/vertx/core/Handler;)Lio/vertx/core/streams/impl/InboundBuffer;
pop
31: return
end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 32 0 this Lio/vertx/core/file/impl/AsyncFileImpl;
0 32 1 vertx Lio/vertx/core/impl/VertxInternal;
0 32 2 path Ljava/lang/String;
0 32 3 options Lio/vertx/core/file/OpenOptions;
0 32 4 context Lio/vertx/core/impl/ContextInternal;
8 32 5 file Ljava/nio/file/Path;
9 32 6 opts Ljava/util/HashSet<Ljava/nio/file/OpenOption;>;
20 21 7 attrs Ljava/nio/file/attribute/FileAttribute<*>;
26 27 7 e Ljava/io/IOException;
Exception table:
from to target type
18 24 25 Class java.io.IOException
MethodParameters:
Name Flags
vertx
path
options
context
public void close();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
aconst_null
invokevirtual io.vertx.core.file.impl.AsyncFileImpl.closeInternal:(Lio/vertx/core/Handler;)V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lio/vertx/core/file/impl/AsyncFileImpl;
public void close(io.vertx.core.Handler<io.vertx.core.AsyncResult<java.lang.Void>>);
descriptor: (Lio/vertx/core/Handler;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual io.vertx.core.file.impl.AsyncFileImpl.closeInternal:(Lio/vertx/core/Handler;)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lio/vertx/core/file/impl/AsyncFileImpl;
0 2 1 handler Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Ljava/lang/Void;>;>;
Signature: (Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Ljava/lang/Void;>;>;)V
MethodParameters:
Name Flags
handler
public void end();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual io.vertx.core.file.impl.AsyncFileImpl.close:()V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lio/vertx/core/file/impl/AsyncFileImpl;
public void end(io.vertx.core.Handler<io.vertx.core.AsyncResult<java.lang.Void>>);
descriptor: (Lio/vertx/core/Handler;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual io.vertx.core.file.impl.AsyncFileImpl.close:(Lio/vertx/core/Handler;)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lio/vertx/core/file/impl/AsyncFileImpl;
0 2 1 handler Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Ljava/lang/Void;>;>;
Signature: (Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Ljava/lang/Void;>;>;)V
MethodParameters:
Name Flags
handler
public synchronized io.vertx.core.file.AsyncFile read(io.vertx.core.buffer.Buffer, int, long, int, io.vertx.core.Handler<io.vertx.core.AsyncResult<io.vertx.core.buffer.Buffer>>);
descriptor: (Lio/vertx/core/buffer/Buffer;IJILio/vertx/core/Handler;)Lio/vertx/core/file/AsyncFile;
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=7, locals=8, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 5 start local 6 0: aload 1
ldc "buffer"
invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
pop
1: aload 6
ldc "handler"
invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
pop
2: iload 2
iflt 3
iconst_1
goto 4
StackMap locals:
StackMap stack:
3: iconst_0
StackMap locals:
StackMap stack: int
4: ldc "offset must be >= 0"
invokestatic io.vertx.core.impl.Arguments.require:(ZLjava/lang/String;)V
5: lload 3
lconst_0
lcmp
iflt 6
iconst_1
goto 7
StackMap locals:
StackMap stack:
6: iconst_0
StackMap locals:
StackMap stack: int
7: ldc "position must be >= 0"
invokestatic io.vertx.core.impl.Arguments.require:(ZLjava/lang/String;)V
8: iload 5
iflt 9
iconst_1
goto 10
StackMap locals:
StackMap stack:
9: iconst_0
StackMap locals:
StackMap stack: int
10: ldc "length must be >= 0"
invokestatic io.vertx.core.impl.Arguments.require:(ZLjava/lang/String;)V
11: aload 0
invokevirtual io.vertx.core.file.impl.AsyncFileImpl.check:()V
12: iload 5
invokestatic java.nio.ByteBuffer.allocate:(I)Ljava/nio/ByteBuffer;
astore 7
start local 7 13: aload 0
aload 1
iload 2
aload 7
lload 3
aload 6
invokevirtual io.vertx.core.file.impl.AsyncFileImpl.doRead:(Lio/vertx/core/buffer/Buffer;ILjava/nio/ByteBuffer;JLio/vertx/core/Handler;)V
14: aload 0
areturn
end local 7 end local 6 end local 5 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 15 0 this Lio/vertx/core/file/impl/AsyncFileImpl;
0 15 1 buffer Lio/vertx/core/buffer/Buffer;
0 15 2 offset I
0 15 3 position J
0 15 5 length I
0 15 6 handler Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Lio/vertx/core/buffer/Buffer;>;>;
13 15 7 bb Ljava/nio/ByteBuffer;
Signature: (Lio/vertx/core/buffer/Buffer;IJILio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Lio/vertx/core/buffer/Buffer;>;>;)Lio/vertx/core/file/AsyncFile;
MethodParameters:
Name Flags
buffer
offset
position
length
handler
public io.vertx.core.file.AsyncFile fetch(long);
descriptor: (J)Lio/vertx/core/file/AsyncFile;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield io.vertx.core.file.impl.AsyncFileImpl.queue:Lio/vertx/core/streams/impl/InboundBuffer;
lload 1
invokevirtual io.vertx.core.streams.impl.InboundBuffer.fetch:(J)Z
pop
1: aload 0
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lio/vertx/core/file/impl/AsyncFileImpl;
0 2 1 amount J
MethodParameters:
Name Flags
amount
public io.vertx.core.file.AsyncFile write(io.vertx.core.buffer.Buffer, long, io.vertx.core.Handler<io.vertx.core.AsyncResult<java.lang.Void>>);
descriptor: (Lio/vertx/core/buffer/Buffer;JLio/vertx/core/Handler;)Lio/vertx/core/file/AsyncFile;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 4 0: aload 4
ldc "handler"
invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
pop
1: aload 0
aload 1
lload 2
aload 4
invokevirtual io.vertx.core.file.impl.AsyncFileImpl.doWrite:(Lio/vertx/core/buffer/Buffer;JLio/vertx/core/Handler;)Lio/vertx/core/file/AsyncFile;
areturn
end local 4 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lio/vertx/core/file/impl/AsyncFileImpl;
0 2 1 buffer Lio/vertx/core/buffer/Buffer;
0 2 2 position J
0 2 4 handler Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Ljava/lang/Void;>;>;
Signature: (Lio/vertx/core/buffer/Buffer;JLio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Ljava/lang/Void;>;>;)Lio/vertx/core/file/AsyncFile;
MethodParameters:
Name Flags
buffer
position
handler
private synchronized io.vertx.core.file.AsyncFile doWrite(io.vertx.core.buffer.Buffer, long, io.vertx.core.Handler<io.vertx.core.AsyncResult<java.lang.Void>>);
descriptor: (Lio/vertx/core/buffer/Buffer;JLio/vertx/core/Handler;)Lio/vertx/core/file/AsyncFile;
flags: (0x0022) ACC_PRIVATE, ACC_SYNCHRONIZED
Code:
stack=7, locals=8, args_size=4
start local 0 start local 1 start local 2 start local 4 0: aload 1
ldc "buffer"
invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
pop
1: lload 2
lconst_0
lcmp
iflt 2
iconst_1
goto 3
StackMap locals:
StackMap stack:
2: iconst_0
StackMap locals:
StackMap stack: int
3: ldc "position must be >= 0"
invokestatic io.vertx.core.impl.Arguments.require:(ZLjava/lang/String;)V
4: aload 0
invokevirtual io.vertx.core.file.impl.AsyncFileImpl.check:()V
5: aload 0
aload 4
invokedynamic handle(Lio/vertx/core/file/impl/AsyncFileImpl;Lio/vertx/core/Handler;)Lio/vertx/core/Handler;
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/lang/Object;)V
io/vertx/core/file/impl/AsyncFileImpl.lambda$2(Lio/vertx/core/Handler;Lio/vertx/core/AsyncResult;)V (7)
(Lio/vertx/core/AsyncResult;)V
astore 5
start local 5 6: aload 1
invokeinterface io.vertx.core.buffer.Buffer.getByteBuf:()Lio/netty/buffer/ByteBuf;
astore 6
start local 6 7: aload 6
invokevirtual io.netty.buffer.ByteBuf.nioBufferCount:()I
iconst_1
if_icmple 10
8: aload 0
aload 6
invokevirtual io.netty.buffer.ByteBuf.nioBuffers:()[Ljava/nio/ByteBuffer;
lload 2
aload 5
invokevirtual io.vertx.core.file.impl.AsyncFileImpl.doWrite:([Ljava/nio/ByteBuffer;JLio/vertx/core/Handler;)V
9: goto 12
10: StackMap locals: io.vertx.core.Handler io.netty.buffer.ByteBuf
StackMap stack:
aload 6
invokevirtual io.netty.buffer.ByteBuf.nioBuffer:()Ljava/nio/ByteBuffer;
astore 7
start local 7 11: aload 0
aload 7
lload 2
aload 7
invokevirtual java.nio.ByteBuffer.limit:()I
i2l
aload 5
invokevirtual io.vertx.core.file.impl.AsyncFileImpl.doWrite:(Ljava/nio/ByteBuffer;JJLio/vertx/core/Handler;)V
end local 7 12: StackMap locals:
StackMap stack:
aload 0
areturn
end local 6 end local 5 end local 4 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 this Lio/vertx/core/file/impl/AsyncFileImpl;
0 13 1 buffer Lio/vertx/core/buffer/Buffer;
0 13 2 position J
0 13 4 handler Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Ljava/lang/Void;>;>;
6 13 5 wrapped Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Ljava/lang/Void;>;>;
7 13 6 buf Lio/netty/buffer/ByteBuf;
11 12 7 bb Ljava/nio/ByteBuffer;
Signature: (Lio/vertx/core/buffer/Buffer;JLio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Ljava/lang/Void;>;>;)Lio/vertx/core/file/AsyncFile;
MethodParameters:
Name Flags
buffer
position
handler
public io.vertx.core.file.AsyncFile write(io.vertx.core.buffer.Buffer);
descriptor: (Lio/vertx/core/buffer/Buffer;)Lio/vertx/core/file/AsyncFile;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
aconst_null
invokevirtual io.vertx.core.file.impl.AsyncFileImpl.write:(Lio/vertx/core/buffer/Buffer;Lio/vertx/core/Handler;)Lio/vertx/core/file/AsyncFile;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/vertx/core/file/impl/AsyncFileImpl;
0 1 1 buffer Lio/vertx/core/buffer/Buffer;
MethodParameters:
Name Flags
buffer
public synchronized io.vertx.core.file.AsyncFile write(io.vertx.core.buffer.Buffer, io.vertx.core.Handler<io.vertx.core.AsyncResult<java.lang.Void>>);
descriptor: (Lio/vertx/core/buffer/Buffer;Lio/vertx/core/Handler;)Lio/vertx/core/file/AsyncFile;
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=5, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 1
invokeinterface io.vertx.core.buffer.Buffer.length:()I
istore 3
start local 3 1: aload 0
aload 1
aload 0
getfield io.vertx.core.file.impl.AsyncFileImpl.writePos:J
aload 2
invokevirtual io.vertx.core.file.impl.AsyncFileImpl.doWrite:(Lio/vertx/core/buffer/Buffer;JLio/vertx/core/Handler;)Lio/vertx/core/file/AsyncFile;
pop
2: aload 0
dup
getfield io.vertx.core.file.impl.AsyncFileImpl.writePos:J
iload 3
i2l
ladd
putfield io.vertx.core.file.impl.AsyncFileImpl.writePos:J
3: aload 0
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lio/vertx/core/file/impl/AsyncFileImpl;
0 4 1 buffer Lio/vertx/core/buffer/Buffer;
0 4 2 handler Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Ljava/lang/Void;>;>;
1 4 3 length I
Signature: (Lio/vertx/core/buffer/Buffer;Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Ljava/lang/Void;>;>;)Lio/vertx/core/file/AsyncFile;
MethodParameters:
Name Flags
buffer
handler
public synchronized io.vertx.core.file.AsyncFile setWriteQueueMaxSize(int);
descriptor: (I)Lio/vertx/core/file/AsyncFile;
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: iload 1
iconst_2
if_icmplt 1
iconst_1
goto 2
StackMap locals:
StackMap stack:
1: iconst_0
StackMap locals:
StackMap stack: int
2: ldc "maxSize must be >= 2"
invokestatic io.vertx.core.impl.Arguments.require:(ZLjava/lang/String;)V
3: aload 0
invokevirtual io.vertx.core.file.impl.AsyncFileImpl.check:()V
4: aload 0
iload 1
putfield io.vertx.core.file.impl.AsyncFileImpl.maxWrites:I
5: aload 0
aload 0
getfield io.vertx.core.file.impl.AsyncFileImpl.maxWrites:I
iconst_2
idiv
putfield io.vertx.core.file.impl.AsyncFileImpl.lwm:I
6: aload 0
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lio/vertx/core/file/impl/AsyncFileImpl;
0 7 1 maxSize I
MethodParameters:
Name Flags
maxSize
public synchronized io.vertx.core.file.AsyncFile setReadBufferSize(int);
descriptor: (I)Lio/vertx/core/file/AsyncFile;
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
iload 1
putfield io.vertx.core.file.impl.AsyncFileImpl.readBufferSize:I
1: aload 0
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lio/vertx/core/file/impl/AsyncFileImpl;
0 2 1 readBufferSize I
MethodParameters:
Name Flags
readBufferSize
public synchronized boolean writeQueueFull();
descriptor: ()Z
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=4, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual io.vertx.core.file.impl.AsyncFileImpl.check:()V
1: aload 0
getfield io.vertx.core.file.impl.AsyncFileImpl.writesOutstanding:J
aload 0
getfield io.vertx.core.file.impl.AsyncFileImpl.maxWrites:I
i2l
lcmp
iflt 2
iconst_1
ireturn
StackMap locals:
StackMap stack:
2: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lio/vertx/core/file/impl/AsyncFileImpl;
public synchronized io.vertx.core.file.AsyncFile drainHandler(io.vertx.core.Handler<java.lang.Void>);
descriptor: (Lio/vertx/core/Handler;)Lio/vertx/core/file/AsyncFile;
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual io.vertx.core.file.impl.AsyncFileImpl.check:()V
1: aload 0
aload 1
putfield io.vertx.core.file.impl.AsyncFileImpl.drainHandler:Lio/vertx/core/Handler;
2: aload 0
invokevirtual io.vertx.core.file.impl.AsyncFileImpl.checkDrained:()V
3: aload 0
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lio/vertx/core/file/impl/AsyncFileImpl;
0 4 1 handler Lio/vertx/core/Handler<Ljava/lang/Void;>;
Signature: (Lio/vertx/core/Handler<Ljava/lang/Void;>;)Lio/vertx/core/file/AsyncFile;
MethodParameters:
Name Flags
handler
public synchronized io.vertx.core.file.AsyncFile exceptionHandler(io.vertx.core.Handler<java.lang.Throwable>);
descriptor: (Lio/vertx/core/Handler;)Lio/vertx/core/file/AsyncFile;
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual io.vertx.core.file.impl.AsyncFileImpl.check:()V
1: aload 0
aload 1
putfield io.vertx.core.file.impl.AsyncFileImpl.exceptionHandler:Lio/vertx/core/Handler;
2: aload 0
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lio/vertx/core/file/impl/AsyncFileImpl;
0 3 1 handler Lio/vertx/core/Handler<Ljava/lang/Throwable;>;
Signature: (Lio/vertx/core/Handler<Ljava/lang/Throwable;>;)Lio/vertx/core/file/AsyncFile;
MethodParameters:
Name Flags
handler
public synchronized io.vertx.core.file.AsyncFile handler(io.vertx.core.Handler<io.vertx.core.buffer.Buffer>);
descriptor: (Lio/vertx/core/Handler;)Lio/vertx/core/file/AsyncFile;
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual io.vertx.core.file.impl.AsyncFileImpl.check:()V
1: aload 0
getfield io.vertx.core.file.impl.AsyncFileImpl.closed:Z
ifeq 3
2: aload 0
areturn
3: StackMap locals:
StackMap stack:
aload 0
aload 1
putfield io.vertx.core.file.impl.AsyncFileImpl.handler:Lio/vertx/core/Handler;
4: aload 1
ifnull 7
5: aload 0
invokevirtual io.vertx.core.file.impl.AsyncFileImpl.doRead:()V
6: goto 8
7: StackMap locals:
StackMap stack:
aload 0
getfield io.vertx.core.file.impl.AsyncFileImpl.queue:Lio/vertx/core/streams/impl/InboundBuffer;
invokevirtual io.vertx.core.streams.impl.InboundBuffer.clear:()Lio/vertx/core/streams/impl/InboundBuffer;
pop
8: StackMap locals:
StackMap stack:
aload 0
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lio/vertx/core/file/impl/AsyncFileImpl;
0 9 1 handler Lio/vertx/core/Handler<Lio/vertx/core/buffer/Buffer;>;
Signature: (Lio/vertx/core/Handler<Lio/vertx/core/buffer/Buffer;>;)Lio/vertx/core/file/AsyncFile;
MethodParameters:
Name Flags
handler
public synchronized io.vertx.core.file.AsyncFile endHandler(io.vertx.core.Handler<java.lang.Void>);
descriptor: (Lio/vertx/core/Handler;)Lio/vertx/core/file/AsyncFile;
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual io.vertx.core.file.impl.AsyncFileImpl.check:()V
1: aload 0
aload 1
putfield io.vertx.core.file.impl.AsyncFileImpl.endHandler:Lio/vertx/core/Handler;
2: aload 0
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lio/vertx/core/file/impl/AsyncFileImpl;
0 3 1 handler Lio/vertx/core/Handler<Ljava/lang/Void;>;
Signature: (Lio/vertx/core/Handler<Ljava/lang/Void;>;)Lio/vertx/core/file/AsyncFile;
MethodParameters:
Name Flags
handler
public synchronized io.vertx.core.file.AsyncFile pause();
descriptor: ()Lio/vertx/core/file/AsyncFile;
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual io.vertx.core.file.impl.AsyncFileImpl.check:()V
1: aload 0
getfield io.vertx.core.file.impl.AsyncFileImpl.queue:Lio/vertx/core/streams/impl/InboundBuffer;
invokevirtual io.vertx.core.streams.impl.InboundBuffer.pause:()Lio/vertx/core/streams/impl/InboundBuffer;
pop
2: aload 0
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lio/vertx/core/file/impl/AsyncFileImpl;
public synchronized io.vertx.core.file.AsyncFile resume();
descriptor: ()Lio/vertx/core/file/AsyncFile;
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual io.vertx.core.file.impl.AsyncFileImpl.check:()V
1: aload 0
getfield io.vertx.core.file.impl.AsyncFileImpl.closed:Z
ifne 3
2: aload 0
getfield io.vertx.core.file.impl.AsyncFileImpl.queue:Lio/vertx/core/streams/impl/InboundBuffer;
invokevirtual io.vertx.core.streams.impl.InboundBuffer.resume:()Z
pop
3: StackMap locals:
StackMap stack:
aload 0
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lio/vertx/core/file/impl/AsyncFileImpl;
public io.vertx.core.file.AsyncFile flush();
descriptor: ()Lio/vertx/core/file/AsyncFile;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
aconst_null
invokevirtual io.vertx.core.file.impl.AsyncFileImpl.doFlush:(Lio/vertx/core/Handler;)V
1: aload 0
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lio/vertx/core/file/impl/AsyncFileImpl;
public io.vertx.core.file.AsyncFile flush(io.vertx.core.Handler<io.vertx.core.AsyncResult<java.lang.Void>>);
descriptor: (Lio/vertx/core/Handler;)Lio/vertx/core/file/AsyncFile;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual io.vertx.core.file.impl.AsyncFileImpl.doFlush:(Lio/vertx/core/Handler;)V
1: aload 0
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lio/vertx/core/file/impl/AsyncFileImpl;
0 2 1 handler Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Ljava/lang/Void;>;>;
Signature: (Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Ljava/lang/Void;>;>;)Lio/vertx/core/file/AsyncFile;
MethodParameters:
Name Flags
handler
public synchronized io.vertx.core.file.AsyncFile setReadPos(long);
descriptor: (J)Lio/vertx/core/file/AsyncFile;
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: aload 0
lload 1
putfield io.vertx.core.file.impl.AsyncFileImpl.readPos:J
1: aload 0
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lio/vertx/core/file/impl/AsyncFileImpl;
0 2 1 readPos J
MethodParameters:
Name Flags
readPos
public synchronized io.vertx.core.file.AsyncFile setWritePos(long);
descriptor: (J)Lio/vertx/core/file/AsyncFile;
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: aload 0
lload 1
putfield io.vertx.core.file.impl.AsyncFileImpl.writePos:J
1: aload 0
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lio/vertx/core/file/impl/AsyncFileImpl;
0 2 1 writePos J
MethodParameters:
Name Flags
writePos
public synchronized long getWritePos();
descriptor: ()J
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield io.vertx.core.file.impl.AsyncFileImpl.writePos:J
lreturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/vertx/core/file/impl/AsyncFileImpl;
private synchronized void checkDrained();
descriptor: ()V
flags: (0x0022) ACC_PRIVATE, ACC_SYNCHRONIZED
Code:
stack=4, locals=2, args_size=1
start local 0 0: aload 0
getfield io.vertx.core.file.impl.AsyncFileImpl.drainHandler:Lio/vertx/core/Handler;
ifnull 4
aload 0
getfield io.vertx.core.file.impl.AsyncFileImpl.writesOutstanding:J
aload 0
getfield io.vertx.core.file.impl.AsyncFileImpl.lwm:I
i2l
lcmp
ifgt 4
1: aload 0
getfield io.vertx.core.file.impl.AsyncFileImpl.drainHandler:Lio/vertx/core/Handler;
astore 1
start local 1 2: aload 0
aconst_null
putfield io.vertx.core.file.impl.AsyncFileImpl.drainHandler:Lio/vertx/core/Handler;
3: aload 1
aconst_null
invokeinterface io.vertx.core.Handler.handle:(Ljava/lang/Object;)V
end local 1 4: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lio/vertx/core/file/impl/AsyncFileImpl;
2 4 1 handler Lio/vertx/core/Handler<Ljava/lang/Void;>;
private void handleException(java.lang.Throwable);
descriptor: (Ljava/lang/Throwable;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield io.vertx.core.file.impl.AsyncFileImpl.exceptionHandler:Lio/vertx/core/Handler;
ifnull 3
aload 1
instanceof java.lang.Exception
ifeq 3
1: aload 0
getfield io.vertx.core.file.impl.AsyncFileImpl.exceptionHandler:Lio/vertx/core/Handler;
aload 1
invokeinterface io.vertx.core.Handler.handle:(Ljava/lang/Object;)V
2: goto 4
3: StackMap locals:
StackMap stack:
getstatic io.vertx.core.file.impl.AsyncFileImpl.log:Lio/vertx/core/logging/Logger;
ldc "Unhandled exception"
aload 1
invokevirtual io.vertx.core.logging.Logger.error:(Ljava/lang/Object;Ljava/lang/Throwable;)V
4: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lio/vertx/core/file/impl/AsyncFileImpl;
0 5 1 t Ljava/lang/Throwable;
MethodParameters:
Name Flags
t
private synchronized void doWrite(java.nio.ByteBuffer[], long, io.vertx.core.Handler<io.vertx.core.AsyncResult<java.lang.Void>>);
descriptor: ([Ljava/nio/ByteBuffer;JLio/vertx/core/Handler;)V
flags: (0x0022) ACC_PRIVATE, ACC_SYNCHRONIZED
Code:
stack=10, locals=12, args_size=4
start local 0 start local 1 start local 2 start local 4 0: new java.util.concurrent.atomic.AtomicInteger
dup
invokespecial java.util.concurrent.atomic.AtomicInteger.<init>:()V
astore 5
start local 5 1: new java.util.concurrent.atomic.AtomicBoolean
dup
invokespecial java.util.concurrent.atomic.AtomicBoolean.<init>:()V
astore 6
start local 6 2: aload 1
dup
astore 10
arraylength
istore 9
iconst_0
istore 8
goto 8
StackMap locals: io.vertx.core.file.impl.AsyncFileImpl java.nio.ByteBuffer[] long io.vertx.core.Handler java.util.concurrent.atomic.AtomicInteger java.util.concurrent.atomic.AtomicBoolean top int int java.nio.ByteBuffer[]
StackMap stack:
3: aload 10
iload 8
aaload
astore 7
start local 7 4: aload 7
invokevirtual java.nio.ByteBuffer.limit:()I
istore 11
start local 11 5: aload 0
aload 7
lload 2
iload 11
i2l
aload 5
aload 1
aload 4
aload 6
invokedynamic handle(Ljava/util/concurrent/atomic/AtomicInteger;[Ljava/nio/ByteBuffer;Lio/vertx/core/Handler;Ljava/util/concurrent/atomic/AtomicBoolean;)Lio/vertx/core/Handler;
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/lang/Object;)V
io/vertx/core/file/impl/AsyncFileImpl.lambda$4(Ljava/util/concurrent/atomic/AtomicInteger;[Ljava/nio/ByteBuffer;Lio/vertx/core/Handler;Ljava/util/concurrent/atomic/AtomicBoolean;Lio/vertx/core/AsyncResult;)V (6)
(Lio/vertx/core/AsyncResult;)V
invokevirtual io.vertx.core.file.impl.AsyncFileImpl.doWrite:(Ljava/nio/ByteBuffer;JJLio/vertx/core/Handler;)V
6: lload 2
iload 11
i2l
ladd
lstore 2
end local 11 end local 7 7: iinc 8 1
StackMap locals:
StackMap stack:
8: iload 8
iload 9
if_icmplt 3
9: return
end local 6 end local 5 end local 4 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lio/vertx/core/file/impl/AsyncFileImpl;
0 10 1 buffers [Ljava/nio/ByteBuffer;
0 10 2 position J
0 10 4 handler Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Ljava/lang/Void;>;>;
1 10 5 cnt Ljava/util/concurrent/atomic/AtomicInteger;
2 10 6 sentFailure Ljava/util/concurrent/atomic/AtomicBoolean;
4 7 7 b Ljava/nio/ByteBuffer;
5 7 11 limit I
Signature: ([Ljava/nio/ByteBuffer;JLio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Ljava/lang/Void;>;>;)V
MethodParameters:
Name Flags
buffers
position
handler
private void doRead();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
aload 0
getfield io.vertx.core.file.impl.AsyncFileImpl.readBufferSize:I
invokestatic java.nio.ByteBuffer.allocate:(I)Ljava/nio/ByteBuffer;
invokevirtual io.vertx.core.file.impl.AsyncFileImpl.doRead:(Ljava/nio/ByteBuffer;)V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lio/vertx/core/file/impl/AsyncFileImpl;
private synchronized void doRead(java.nio.ByteBuffer);
descriptor: (Ljava/nio/ByteBuffer;)V
flags: (0x0022) ACC_PRIVATE, ACC_SYNCHRONIZED
Code:
stack=8, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield io.vertx.core.file.impl.AsyncFileImpl.readBufferSize:I
invokestatic io.vertx.core.buffer.Buffer.buffer:(I)Lio/vertx/core/buffer/Buffer;
astore 2
start local 2 1: aload 0
aload 2
iconst_0
aload 1
aload 0
getfield io.vertx.core.file.impl.AsyncFileImpl.readPos:J
aload 0
aload 1
invokedynamic handle(Lio/vertx/core/file/impl/AsyncFileImpl;Ljava/nio/ByteBuffer;)Lio/vertx/core/Handler;
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/lang/Object;)V
io/vertx/core/file/impl/AsyncFileImpl.lambda$5(Ljava/nio/ByteBuffer;Lio/vertx/core/AsyncResult;)V (7)
(Lio/vertx/core/AsyncResult;)V
invokevirtual io.vertx.core.file.impl.AsyncFileImpl.doRead:(Lio/vertx/core/buffer/Buffer;ILjava/nio/ByteBuffer;JLio/vertx/core/Handler;)V
2: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lio/vertx/core/file/impl/AsyncFileImpl;
0 3 1 bb Ljava/nio/ByteBuffer;
1 3 2 buff Lio/vertx/core/buffer/Buffer;
MethodParameters:
Name Flags
bb
private synchronized void handleBuffer(io.vertx.core.buffer.Buffer);
descriptor: (Lio/vertx/core/buffer/Buffer;)V
flags: (0x0022) ACC_PRIVATE, ACC_SYNCHRONIZED
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield io.vertx.core.file.impl.AsyncFileImpl.handler:Lio/vertx/core/Handler;
ifnull 3
1: aload 0
invokevirtual io.vertx.core.file.impl.AsyncFileImpl.checkContext:()V
2: aload 0
getfield io.vertx.core.file.impl.AsyncFileImpl.handler:Lio/vertx/core/Handler;
aload 1
invokeinterface io.vertx.core.Handler.handle:(Ljava/lang/Object;)V
3: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lio/vertx/core/file/impl/AsyncFileImpl;
0 4 1 buff Lio/vertx/core/buffer/Buffer;
MethodParameters:
Name Flags
buff
private synchronized void handleEnd();
descriptor: ()V
flags: (0x0022) ACC_PRIVATE, ACC_SYNCHRONIZED
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
aconst_null
putfield io.vertx.core.file.impl.AsyncFileImpl.handler:Lio/vertx/core/Handler;
1: aload 0
getfield io.vertx.core.file.impl.AsyncFileImpl.endHandler:Lio/vertx/core/Handler;
ifnull 4
2: aload 0
invokevirtual io.vertx.core.file.impl.AsyncFileImpl.checkContext:()V
3: aload 0
getfield io.vertx.core.file.impl.AsyncFileImpl.endHandler:Lio/vertx/core/Handler;
aconst_null
invokeinterface io.vertx.core.Handler.handle:(Ljava/lang/Object;)V
4: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lio/vertx/core/file/impl/AsyncFileImpl;
private synchronized void doFlush(io.vertx.core.Handler<io.vertx.core.AsyncResult<java.lang.Void>>);
descriptor: (Lio/vertx/core/Handler;)V
flags: (0x0022) ACC_PRIVATE, ACC_SYNCHRONIZED
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual io.vertx.core.file.impl.AsyncFileImpl.checkClosed:()V
1: aload 0
getfield io.vertx.core.file.impl.AsyncFileImpl.context:Lio/vertx/core/impl/ContextInternal;
aload 0
invokedynamic handle(Lio/vertx/core/file/impl/AsyncFileImpl;)Lio/vertx/core/Handler;
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/lang/Object;)V
io/vertx/core/file/impl/AsyncFileImpl.lambda$6(Lio/vertx/core/Promise;)V (7)
(Lio/vertx/core/Promise;)V
2: aload 1
3: invokeinterface io.vertx.core.impl.ContextInternal.executeBlockingInternal:(Lio/vertx/core/Handler;Lio/vertx/core/Handler;)V
4: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lio/vertx/core/file/impl/AsyncFileImpl;
0 5 1 handler Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Ljava/lang/Void;>;>;
Signature: (Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Ljava/lang/Void;>;>;)V
MethodParameters:
Name Flags
handler
private void doWrite(java.nio.ByteBuffer, long, long, io.vertx.core.Handler<io.vertx.core.AsyncResult<java.lang.Void>>);
descriptor: (Ljava/nio/ByteBuffer;JJLio/vertx/core/Handler;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=8, args_size=5
start local 0 start local 1 start local 2 start local 4 start local 6 0: lload 4
lconst_0
lcmp
ifle 9
1: aload 0
dup
astore 7
monitorenter
2: aload 0
dup
getfield io.vertx.core.file.impl.AsyncFileImpl.writesOutstanding:J
lload 4
ladd
putfield io.vertx.core.file.impl.AsyncFileImpl.writesOutstanding:J
3: aload 7
monitorexit
4: goto 7
StackMap locals: io.vertx.core.file.impl.AsyncFileImpl java.nio.ByteBuffer long long io.vertx.core.Handler io.vertx.core.file.impl.AsyncFileImpl
StackMap stack: java.lang.Throwable
5: aload 7
monitorexit
6: athrow
7: StackMap locals:
StackMap stack:
aload 0
aload 1
lload 2
aload 6
invokevirtual io.vertx.core.file.impl.AsyncFileImpl.writeInternal:(Ljava/nio/ByteBuffer;JLio/vertx/core/Handler;)V
8: goto 10
9: StackMap locals:
StackMap stack:
aload 6
invokestatic io.vertx.core.Future.succeededFuture:()Lio/vertx/core/Future;
invokeinterface io.vertx.core.Handler.handle:(Ljava/lang/Object;)V
10: StackMap locals:
StackMap stack:
return
end local 6 end local 4 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lio/vertx/core/file/impl/AsyncFileImpl;
0 11 1 buff Ljava/nio/ByteBuffer;
0 11 2 position J
0 11 4 toWrite J
0 11 6 handler Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Ljava/lang/Void;>;>;
Exception table:
from to target type
2 4 5 any
5 6 5 any
Signature: (Ljava/nio/ByteBuffer;JJLio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Ljava/lang/Void;>;>;)V
MethodParameters:
Name Flags
buff
position
toWrite
handler
private void writeInternal(java.nio.ByteBuffer, long, io.vertx.core.Handler<io.vertx.core.AsyncResult<java.lang.Void>>);
descriptor: (Ljava/nio/ByteBuffer;JLio/vertx/core/Handler;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=12, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 4 0: aload 0
getfield io.vertx.core.file.impl.AsyncFileImpl.ch:Ljava/nio/channels/AsynchronousFileChannel;
aload 1
lload 2
aconst_null
new io.vertx.core.file.impl.AsyncFileImpl$1
dup
aload 0
lload 2
aload 1
aload 4
invokespecial io.vertx.core.file.impl.AsyncFileImpl$1.<init>:(Lio/vertx/core/file/impl/AsyncFileImpl;JLjava/nio/ByteBuffer;Lio/vertx/core/Handler;)V
invokevirtual java.nio.channels.AsynchronousFileChannel.write:(Ljava/nio/ByteBuffer;JLjava/lang/Object;Ljava/nio/channels/CompletionHandler;)V
1: return
end local 4 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lio/vertx/core/file/impl/AsyncFileImpl;
0 2 1 buff Ljava/nio/ByteBuffer;
0 2 2 position J
0 2 4 handler Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Ljava/lang/Void;>;>;
Signature: (Ljava/nio/ByteBuffer;JLio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Ljava/lang/Void;>;>;)V
MethodParameters:
Name Flags
buff
position
handler
private void doRead(io.vertx.core.buffer.Buffer, int, java.nio.ByteBuffer, long, io.vertx.core.Handler<io.vertx.core.AsyncResult<io.vertx.core.buffer.Buffer>>);
descriptor: (Lio/vertx/core/buffer/Buffer;ILjava/nio/ByteBuffer;JLio/vertx/core/Handler;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=14, locals=7, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 6 0: aload 0
getfield io.vertx.core.file.impl.AsyncFileImpl.ch:Ljava/nio/channels/AsynchronousFileChannel;
aload 3
lload 4
aconst_null
new io.vertx.core.file.impl.AsyncFileImpl$2
dup
aload 0
lload 4
aload 3
aload 1
iload 2
aload 6
invokespecial io.vertx.core.file.impl.AsyncFileImpl$2.<init>:(Lio/vertx/core/file/impl/AsyncFileImpl;JLjava/nio/ByteBuffer;Lio/vertx/core/buffer/Buffer;ILio/vertx/core/Handler;)V
invokevirtual java.nio.channels.AsynchronousFileChannel.read:(Ljava/nio/ByteBuffer;JLjava/lang/Object;Ljava/nio/channels/CompletionHandler;)V
1: return
end local 6 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lio/vertx/core/file/impl/AsyncFileImpl;
0 2 1 writeBuff Lio/vertx/core/buffer/Buffer;
0 2 2 offset I
0 2 3 buff Ljava/nio/ByteBuffer;
0 2 4 position J
0 2 6 handler Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Lio/vertx/core/buffer/Buffer;>;>;
Signature: (Lio/vertx/core/buffer/Buffer;ILjava/nio/ByteBuffer;JLio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Lio/vertx/core/buffer/Buffer;>;>;)V
MethodParameters:
Name Flags
writeBuff
offset
buff
position
handler
private void check();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual io.vertx.core.file.impl.AsyncFileImpl.checkClosed:()V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lio/vertx/core/file/impl/AsyncFileImpl;
private void checkClosed();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
getfield io.vertx.core.file.impl.AsyncFileImpl.closed:Z
ifeq 2
1: new java.lang.IllegalStateException
dup
ldc "File handle is closed"
invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lio/vertx/core/file/impl/AsyncFileImpl;
private void checkContext();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=1, args_size=1
start local 0 0: aload 0
getfield io.vertx.core.file.impl.AsyncFileImpl.vertx:Lio/vertx/core/impl/VertxInternal;
invokeinterface io.vertx.core.impl.VertxInternal.getContext:()Lio/vertx/core/impl/ContextInternal;
aload 0
getfield io.vertx.core.file.impl.AsyncFileImpl.context:Lio/vertx/core/impl/ContextInternal;
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifne 4
1: new java.lang.IllegalStateException
dup
new java.lang.StringBuilder
dup
ldc "AsyncFile must only be used in the context that created it, expected: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
2: aload 0
getfield io.vertx.core.file.impl.AsyncFileImpl.context:Lio/vertx/core/impl/ContextInternal;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc " actual "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield io.vertx.core.file.impl.AsyncFileImpl.vertx:Lio/vertx/core/impl/VertxInternal;
invokeinterface io.vertx.core.impl.VertxInternal.getContext:()Lio/vertx/core/impl/ContextInternal;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
3: invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
athrow
4: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lio/vertx/core/file/impl/AsyncFileImpl;
private void doClose(io.vertx.core.Handler<io.vertx.core.AsyncResult<java.lang.Void>>);
descriptor: (Lio/vertx/core/Handler;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield io.vertx.core.file.impl.AsyncFileImpl.vertx:Lio/vertx/core/impl/VertxInternal;
invokeinterface io.vertx.core.impl.VertxInternal.getOrCreateContext:()Lio/vertx/core/impl/ContextInternal;
astore 2
start local 2 1: aload 2
aload 0
invokedynamic handle(Lio/vertx/core/file/impl/AsyncFileImpl;)Lio/vertx/core/Handler;
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/lang/Object;)V
io/vertx/core/file/impl/AsyncFileImpl.lambda$7(Lio/vertx/core/Promise;)V (7)
(Lio/vertx/core/Promise;)V
2: aload 1
3: invokeinterface io.vertx.core.impl.ContextInternal.executeBlockingInternal:(Lio/vertx/core/Handler;Lio/vertx/core/Handler;)V
4: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lio/vertx/core/file/impl/AsyncFileImpl;
0 5 1 handler Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Ljava/lang/Void;>;>;
1 5 2 handlerContext Lio/vertx/core/impl/ContextInternal;
Signature: (Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Ljava/lang/Void;>;>;)V
MethodParameters:
Name Flags
handler
private synchronized void closeInternal(io.vertx.core.Handler<io.vertx.core.AsyncResult<java.lang.Void>>);
descriptor: (Lio/vertx/core/Handler;)V
flags: (0x0022) ACC_PRIVATE, ACC_SYNCHRONIZED
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual io.vertx.core.file.impl.AsyncFileImpl.check:()V
1: aload 0
iconst_1
putfield io.vertx.core.file.impl.AsyncFileImpl.closed:Z
2: aload 0
getfield io.vertx.core.file.impl.AsyncFileImpl.writesOutstanding:J
lconst_0
lcmp
ifne 5
3: aload 0
aload 1
invokevirtual io.vertx.core.file.impl.AsyncFileImpl.doClose:(Lio/vertx/core/Handler;)V
4: goto 6
5: StackMap locals:
StackMap stack:
aload 0
aload 0
aload 1
invokedynamic run(Lio/vertx/core/file/impl/AsyncFileImpl;Lio/vertx/core/Handler;)Ljava/lang/Runnable;
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:
()V
io/vertx/core/file/impl/AsyncFileImpl.lambda$8(Lio/vertx/core/Handler;)V (7)
()V
putfield io.vertx.core.file.impl.AsyncFileImpl.closedDeferred:Ljava/lang/Runnable;
6: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lio/vertx/core/file/impl/AsyncFileImpl;
0 7 1 handler Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Ljava/lang/Void;>;>;
Signature: (Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Ljava/lang/Void;>;>;)V
MethodParameters:
Name Flags
handler
public io.vertx.core.streams.ReadStream pause();
descriptor: ()Lio/vertx/core/streams/ReadStream;
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=1, locals=1, args_size=1
0: aload 0
invokevirtual io.vertx.core.file.impl.AsyncFileImpl.pause:()Lio/vertx/core/file/AsyncFile;
areturn
LocalVariableTable:
Start End Slot Name Signature
public io.vertx.core.streams.ReadStream handler(io.vertx.core.Handler);
descriptor: (Lio/vertx/core/Handler;)Lio/vertx/core/streams/ReadStream;
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=2, locals=2, args_size=2
0: aload 0
aload 1
checkcast io.vertx.core.Handler
invokevirtual io.vertx.core.file.impl.AsyncFileImpl.handler:(Lio/vertx/core/Handler;)Lio/vertx/core/file/AsyncFile;
areturn
LocalVariableTable:
Start End Slot Name Signature
public io.vertx.core.streams.ReadStream endHandler(io.vertx.core.Handler);
descriptor: (Lio/vertx/core/Handler;)Lio/vertx/core/streams/ReadStream;
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=2, locals=2, args_size=2
0: aload 0
aload 1
invokevirtual io.vertx.core.file.impl.AsyncFileImpl.endHandler:(Lio/vertx/core/Handler;)Lio/vertx/core/file/AsyncFile;
areturn
LocalVariableTable:
Start End Slot Name Signature
public io.vertx.core.streams.WriteStream write(java.lang.Object, io.vertx.core.Handler);
descriptor: (Ljava/lang/Object;Lio/vertx/core/Handler;)Lio/vertx/core/streams/WriteStream;
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=3, locals=3, args_size=3
0: aload 0
aload 1
checkcast io.vertx.core.buffer.Buffer
aload 2
invokevirtual io.vertx.core.file.impl.AsyncFileImpl.write:(Lio/vertx/core/buffer/Buffer;Lio/vertx/core/Handler;)Lio/vertx/core/file/AsyncFile;
areturn
LocalVariableTable:
Start End Slot Name Signature
public io.vertx.core.streams.WriteStream write(java.lang.Object);
descriptor: (Ljava/lang/Object;)Lio/vertx/core/streams/WriteStream;
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=2, locals=2, args_size=2
0: aload 0
aload 1
checkcast io.vertx.core.buffer.Buffer
invokevirtual io.vertx.core.file.impl.AsyncFileImpl.write:(Lio/vertx/core/buffer/Buffer;)Lio/vertx/core/file/AsyncFile;
areturn
LocalVariableTable:
Start End Slot Name Signature
public io.vertx.core.streams.WriteStream setWriteQueueMaxSize(int);
descriptor: (I)Lio/vertx/core/streams/WriteStream;
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=2, locals=2, args_size=2
0: aload 0
iload 1
invokevirtual io.vertx.core.file.impl.AsyncFileImpl.setWriteQueueMaxSize:(I)Lio/vertx/core/file/AsyncFile;
areturn
LocalVariableTable:
Start End Slot Name Signature
public io.vertx.core.streams.ReadStream resume();
descriptor: ()Lio/vertx/core/streams/ReadStream;
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=1, locals=1, args_size=1
0: aload 0
invokevirtual io.vertx.core.file.impl.AsyncFileImpl.resume:()Lio/vertx/core/file/AsyncFile;
areturn
LocalVariableTable:
Start End Slot Name Signature
public io.vertx.core.streams.ReadStream fetch(long);
descriptor: (J)Lio/vertx/core/streams/ReadStream;
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=3, locals=3, args_size=2
0: aload 0
lload 1
invokevirtual io.vertx.core.file.impl.AsyncFileImpl.fetch:(J)Lio/vertx/core/file/AsyncFile;
areturn
LocalVariableTable:
Start End Slot Name Signature
public io.vertx.core.streams.StreamBase exceptionHandler(io.vertx.core.Handler);
descriptor: (Lio/vertx/core/Handler;)Lio/vertx/core/streams/StreamBase;
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=2, locals=2, args_size=2
0: aload 0
aload 1
invokevirtual io.vertx.core.file.impl.AsyncFileImpl.exceptionHandler:(Lio/vertx/core/Handler;)Lio/vertx/core/file/AsyncFile;
areturn
LocalVariableTable:
Start End Slot Name Signature
public io.vertx.core.streams.ReadStream exceptionHandler(io.vertx.core.Handler);
descriptor: (Lio/vertx/core/Handler;)Lio/vertx/core/streams/ReadStream;
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=2, locals=2, args_size=2
0: aload 0
aload 1
invokevirtual io.vertx.core.file.impl.AsyncFileImpl.exceptionHandler:(Lio/vertx/core/Handler;)Lio/vertx/core/file/AsyncFile;
areturn
LocalVariableTable:
Start End Slot Name Signature
public io.vertx.core.streams.WriteStream exceptionHandler(io.vertx.core.Handler);
descriptor: (Lio/vertx/core/Handler;)Lio/vertx/core/streams/WriteStream;
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=2, locals=2, args_size=2
0: aload 0
aload 1
invokevirtual io.vertx.core.file.impl.AsyncFileImpl.exceptionHandler:(Lio/vertx/core/Handler;)Lio/vertx/core/file/AsyncFile;
areturn
LocalVariableTable:
Start End Slot Name Signature
public io.vertx.core.streams.WriteStream drainHandler(io.vertx.core.Handler);
descriptor: (Lio/vertx/core/Handler;)Lio/vertx/core/streams/WriteStream;
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=2, locals=2, args_size=2
0: aload 0
aload 1
invokevirtual io.vertx.core.file.impl.AsyncFileImpl.drainHandler:(Lio/vertx/core/Handler;)Lio/vertx/core/file/AsyncFile;
areturn
LocalVariableTable:
Start End Slot Name Signature
private void lambda$0(io.vertx.core.buffer.Buffer);
descriptor: (Lio/vertx/core/buffer/Buffer;)V
flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 1
invokeinterface io.vertx.core.buffer.Buffer.length:()I
ifle 3
1: aload 0
aload 1
invokevirtual io.vertx.core.file.impl.AsyncFileImpl.handleBuffer:(Lio/vertx/core/buffer/Buffer;)V
2: goto 4
3: StackMap locals:
StackMap stack:
aload 0
invokevirtual io.vertx.core.file.impl.AsyncFileImpl.handleEnd:()V
4: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lio/vertx/core/file/impl/AsyncFileImpl;
0 5 1 buff Lio/vertx/core/buffer/Buffer;
private void lambda$1(java.lang.Void);
descriptor: (Ljava/lang/Void;)V
flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual io.vertx.core.file.impl.AsyncFileImpl.doRead:()V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lio/vertx/core/file/impl/AsyncFileImpl;
0 2 1 v Ljava/lang/Void;
private void lambda$2(io.vertx.core.Handler, io.vertx.core.AsyncResult);
descriptor: (Lio/vertx/core/Handler;Lio/vertx/core/AsyncResult;)V
flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
Code:
stack=4, locals=5, args_size=3
start local 0 start local 2 0: aload 2
invokeinterface io.vertx.core.AsyncResult.succeeded:()Z
ifeq 15
1: aload 0
invokevirtual io.vertx.core.file.impl.AsyncFileImpl.checkContext:()V
2: aload 0
dup
astore 4
monitorenter
3: aload 0
getfield io.vertx.core.file.impl.AsyncFileImpl.writesOutstanding:J
lconst_0
lcmp
ifne 6
aload 0
getfield io.vertx.core.file.impl.AsyncFileImpl.closedDeferred:Ljava/lang/Runnable;
ifnull 6
4: aload 0
getfield io.vertx.core.file.impl.AsyncFileImpl.closedDeferred:Ljava/lang/Runnable;
astore 3
start local 3 5: goto 7
end local 3 6: StackMap locals: io.vertx.core.file.impl.AsyncFileImpl io.vertx.core.Handler io.vertx.core.AsyncResult top io.vertx.core.file.impl.AsyncFileImpl
StackMap stack:
aload 0
invokedynamic run(Lio/vertx/core/file/impl/AsyncFileImpl;)Ljava/lang/Runnable;
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:
()V
io/vertx/core/file/impl/AsyncFileImpl.checkDrained()V (7)
()V
astore 3
start local 3 7: StackMap locals: io.vertx.core.file.impl.AsyncFileImpl io.vertx.core.Handler io.vertx.core.AsyncResult java.lang.Runnable io.vertx.core.file.impl.AsyncFileImpl
StackMap stack:
aload 4
monitorexit
8: goto 11
end local 3 StackMap locals: io.vertx.core.file.impl.AsyncFileImpl io.vertx.core.Handler io.vertx.core.AsyncResult top io.vertx.core.file.impl.AsyncFileImpl
StackMap stack: java.lang.Throwable
9: aload 4
monitorexit
10: athrow
start local 3 11: StackMap locals: io.vertx.core.file.impl.AsyncFileImpl io.vertx.core.Handler io.vertx.core.AsyncResult java.lang.Runnable
StackMap stack:
aload 3
invokeinterface java.lang.Runnable.run:()V
12: aload 1
ifnull 19
13: aload 1
aload 2
invokeinterface io.vertx.core.Handler.handle:(Ljava/lang/Object;)V
end local 3 14: goto 19
15: StackMap locals:
StackMap stack:
aload 1
ifnull 18
16: aload 1
aload 2
invokeinterface io.vertx.core.Handler.handle:(Ljava/lang/Object;)V
17: goto 19
18: StackMap locals:
StackMap stack:
aload 0
aload 2
invokeinterface io.vertx.core.AsyncResult.cause:()Ljava/lang/Throwable;
invokevirtual io.vertx.core.file.impl.AsyncFileImpl.handleException:(Ljava/lang/Throwable;)V
19: StackMap locals:
StackMap stack:
return
end local 2 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 20 0 this Lio/vertx/core/file/impl/AsyncFileImpl;
0 20 2 ar Lio/vertx/core/AsyncResult<Ljava/lang/Void;>;
5 6 3 action Ljava/lang/Runnable;
7 9 3 action Ljava/lang/Runnable;
11 14 3 action Ljava/lang/Runnable;
Exception table:
from to target type
3 8 9 any
9 10 9 any
private static void lambda$4(java.util.concurrent.atomic.AtomicInteger, java.nio.ByteBuffer[], io.vertx.core.Handler, java.util.concurrent.atomic.AtomicBoolean, io.vertx.core.AsyncResult);
descriptor: (Ljava/util/concurrent/atomic/AtomicInteger;[Ljava/nio/ByteBuffer;Lio/vertx/core/Handler;Ljava/util/concurrent/atomic/AtomicBoolean;Lio/vertx/core/AsyncResult;)V
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=3, locals=5, args_size=5
start local 4 0: aload 4
invokeinterface io.vertx.core.AsyncResult.succeeded:()Z
ifeq 4
1: aload 0
invokevirtual java.util.concurrent.atomic.AtomicInteger.incrementAndGet:()I
aload 1
arraylength
if_icmpne 6
2: aload 2
aload 4
invokeinterface io.vertx.core.Handler.handle:(Ljava/lang/Object;)V
3: goto 6
4: StackMap locals:
StackMap stack:
aload 3
iconst_0
iconst_1
invokevirtual java.util.concurrent.atomic.AtomicBoolean.compareAndSet:(ZZ)Z
ifeq 6
5: aload 2
aload 4
invokeinterface io.vertx.core.Handler.handle:(Ljava/lang/Object;)V
6: StackMap locals:
StackMap stack:
return
end local 4 LocalVariableTable:
Start End Slot Name Signature
0 7 4 ar Lio/vertx/core/AsyncResult<Ljava/lang/Void;>;
private void lambda$5(java.nio.ByteBuffer, io.vertx.core.AsyncResult);
descriptor: (Ljava/nio/ByteBuffer;Lio/vertx/core/AsyncResult;)V
flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
Code:
stack=5, locals=4, args_size=3
start local 0 start local 2 0: aload 2
invokeinterface io.vertx.core.AsyncResult.succeeded:()Z
ifeq 6
1: aload 2
invokeinterface io.vertx.core.AsyncResult.result:()Ljava/lang/Object;
checkcast io.vertx.core.buffer.Buffer
astore 3
start local 3 2: aload 0
dup
getfield io.vertx.core.file.impl.AsyncFileImpl.readPos:J
aload 3
invokeinterface io.vertx.core.buffer.Buffer.length:()I
i2l
ladd
putfield io.vertx.core.file.impl.AsyncFileImpl.readPos:J
3: aload 0
getfield io.vertx.core.file.impl.AsyncFileImpl.queue:Lio/vertx/core/streams/impl/InboundBuffer;
aload 3
invokevirtual io.vertx.core.streams.impl.InboundBuffer.write:(Ljava/lang/Object;)Z
ifeq 7
aload 3
invokeinterface io.vertx.core.buffer.Buffer.length:()I
ifle 7
4: aload 0
aload 1
invokevirtual io.vertx.core.file.impl.AsyncFileImpl.doRead:(Ljava/nio/ByteBuffer;)V
end local 3 5: goto 7
6: StackMap locals:
StackMap stack:
aload 0
aload 2
invokeinterface io.vertx.core.AsyncResult.cause:()Ljava/lang/Throwable;
invokevirtual io.vertx.core.file.impl.AsyncFileImpl.handleException:(Ljava/lang/Throwable;)V
7: StackMap locals:
StackMap stack:
return
end local 2 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lio/vertx/core/file/impl/AsyncFileImpl;
0 8 2 ar Lio/vertx/core/AsyncResult<Lio/vertx/core/buffer/Buffer;>;
2 5 3 buffer Lio/vertx/core/buffer/Buffer;
private void lambda$6(io.vertx.core.Promise);
descriptor: (Lio/vertx/core/Promise;)V
flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield io.vertx.core.file.impl.AsyncFileImpl.ch:Ljava/nio/channels/AsynchronousFileChannel;
iconst_0
invokevirtual java.nio.channels.AsynchronousFileChannel.force:(Z)V
1: aload 1
invokeinterface io.vertx.core.Promise.complete:()V
2: goto 5
StackMap locals:
StackMap stack: java.io.IOException
3: astore 2
start local 2 4: new io.vertx.core.file.FileSystemException
dup
aload 2
invokespecial io.vertx.core.file.FileSystemException.<init>:(Ljava/lang/Throwable;)V
athrow
end local 2 5: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lio/vertx/core/file/impl/AsyncFileImpl;
0 6 1 fut Lio/vertx/core/Promise<Ljava/lang/Void;>;
4 5 2 e Ljava/io/IOException;
Exception table:
from to target type
0 2 3 Class java.io.IOException
private void lambda$7(io.vertx.core.Promise);
descriptor: (Lio/vertx/core/Promise;)V
flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield io.vertx.core.file.impl.AsyncFileImpl.ch:Ljava/nio/channels/AsynchronousFileChannel;
invokevirtual java.nio.channels.AsynchronousFileChannel.close:()V
1: aload 1
aconst_null
invokeinterface io.vertx.core.Promise.complete:(Ljava/lang/Object;)V
2: goto 5
StackMap locals:
StackMap stack: java.io.IOException
3: astore 2
start local 2 4: aload 1
aload 2
invokeinterface io.vertx.core.Promise.fail:(Ljava/lang/Throwable;)V
end local 2 5: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lio/vertx/core/file/impl/AsyncFileImpl;
0 6 1 res Lio/vertx/core/Promise<Ljava/lang/Void;>;
4 5 2 e Ljava/io/IOException;
Exception table:
from to target type
0 2 3 Class java.io.IOException
private void lambda$8(io.vertx.core.Handler);
descriptor: (Lio/vertx/core/Handler;)V
flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
Code:
stack=2, locals=2, args_size=2
start local 0 0: aload 0
aload 1
invokevirtual io.vertx.core.file.impl.AsyncFileImpl.doClose:(Lio/vertx/core/Handler;)V
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/vertx/core/file/impl/AsyncFileImpl;
}
SourceFile: "AsyncFileImpl.java"
NestMembers:
io.vertx.core.file.impl.AsyncFileImpl$1 io.vertx.core.file.impl.AsyncFileImpl$2
InnerClasses:
io.vertx.core.file.impl.AsyncFileImpl$1
io.vertx.core.file.impl.AsyncFileImpl$2
public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles