class org.glassfish.grizzly.http.server.FileCacheFilter$FileSendEntry implements org.glassfish.grizzly.WriteHandler
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: org.glassfish.grizzly.http.server.FileCacheFilter$FileSendEntry
super_class: java.lang.Object
{
private final org.glassfish.grizzly.filterchain.FilterChainContext ctx;
descriptor: Lorg/glassfish/grizzly/filterchain/FilterChainContext;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.nio.channels.FileChannel fc;
descriptor: Ljava/nio/channels/FileChannel;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.io.FileInputStream fis;
descriptor: Ljava/io/FileInputStream;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final org.glassfish.grizzly.http.HttpResponsePacket response;
descriptor: Lorg/glassfish/grizzly/http/HttpResponsePacket;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final org.glassfish.grizzly.OutputSink output;
descriptor: Lorg/glassfish/grizzly/OutputSink;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private long remaining;
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=1, locals=0, args_size=0
0: ldc Lorg/glassfish/grizzly/http/server/FileCacheFilter;
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 org.glassfish.grizzly.http.server.FileCacheFilter$FileSendEntry.$assertionsDisabled:Z
return
LocalVariableTable:
Start End Slot Name Signature
public static org.glassfish.grizzly.http.server.FileCacheFilter$FileSendEntry create(org.glassfish.grizzly.filterchain.FilterChainContext, org.glassfish.grizzly.http.HttpResponsePacket, java.io.File, long);
descriptor: (Lorg/glassfish/grizzly/filterchain/FilterChainContext;Lorg/glassfish/grizzly/http/HttpResponsePacket;Ljava/io/File;J)Lorg/glassfish/grizzly/http/server/FileCacheFilter$FileSendEntry;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=8, locals=7, args_size=4
start local 0 start local 1 start local 2 start local 3 0: new java.io.FileInputStream
dup
aload 2
invokespecial java.io.FileInputStream.<init>:(Ljava/io/File;)V
astore 5
start local 5 1: aload 5
invokevirtual java.io.FileInputStream.getChannel:()Ljava/nio/channels/FileChannel;
astore 6
start local 6 2: new org.glassfish.grizzly.http.server.FileCacheFilter$FileSendEntry
dup
aload 0
aload 1
aload 5
aload 6
lload 3
invokespecial org.glassfish.grizzly.http.server.FileCacheFilter$FileSendEntry.<init>:(Lorg/glassfish/grizzly/filterchain/FilterChainContext;Lorg/glassfish/grizzly/http/HttpResponsePacket;Ljava/io/FileInputStream;Ljava/nio/channels/FileChannel;J)V
areturn
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 3 0 ctx Lorg/glassfish/grizzly/filterchain/FilterChainContext;
0 3 1 response Lorg/glassfish/grizzly/http/HttpResponsePacket;
0 3 2 file Ljava/io/File;
0 3 3 size J
1 3 5 fis Ljava/io/FileInputStream;
2 3 6 fc Ljava/nio/channels/FileChannel;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
ctx final
response final
file final
size final
public void <init>(org.glassfish.grizzly.filterchain.FilterChainContext, org.glassfish.grizzly.http.HttpResponsePacket, java.io.FileInputStream, java.nio.channels.FileChannel, long);
descriptor: (Lorg/glassfish/grizzly/filterchain/FilterChainContext;Lorg/glassfish/grizzly/http/HttpResponsePacket;Ljava/io/FileInputStream;Ljava/nio/channels/FileChannel;J)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=8, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
aload 1
putfield org.glassfish.grizzly.http.server.FileCacheFilter$FileSendEntry.ctx:Lorg/glassfish/grizzly/filterchain/FilterChainContext;
2: aload 0
aload 2
putfield org.glassfish.grizzly.http.server.FileCacheFilter$FileSendEntry.response:Lorg/glassfish/grizzly/http/HttpResponsePacket;
3: aload 0
aload 3
putfield org.glassfish.grizzly.http.server.FileCacheFilter$FileSendEntry.fis:Ljava/io/FileInputStream;
4: aload 0
aload 4
putfield org.glassfish.grizzly.http.server.FileCacheFilter$FileSendEntry.fc:Ljava/nio/channels/FileChannel;
5: aload 0
lload 5
putfield org.glassfish.grizzly.http.server.FileCacheFilter$FileSendEntry.remaining:J
6: aload 2
invokevirtual org.glassfish.grizzly.http.HttpResponsePacket.getProcessingState:()Lorg/glassfish/grizzly/http/ProcessingState;
invokevirtual org.glassfish.grizzly.http.ProcessingState.getHttpContext:()Lorg/glassfish/grizzly/http/HttpContext;
astore 7
start local 7 7: getstatic org.glassfish.grizzly.http.server.FileCacheFilter$FileSendEntry.$assertionsDisabled:Z
ifne 8
aload 7
ifnonnull 8
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
8: StackMap locals: org.glassfish.grizzly.http.server.FileCacheFilter$FileSendEntry org.glassfish.grizzly.filterchain.FilterChainContext org.glassfish.grizzly.http.HttpResponsePacket java.io.FileInputStream java.nio.channels.FileChannel long org.glassfish.grizzly.http.HttpContext
StackMap stack:
aload 0
aload 7
invokevirtual org.glassfish.grizzly.http.HttpContext.getOutputSink:()Lorg/glassfish/grizzly/OutputSink;
putfield org.glassfish.grizzly.http.server.FileCacheFilter$FileSendEntry.output:Lorg/glassfish/grizzly/OutputSink;
9: return
end local 7 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 10 0 this Lorg/glassfish/grizzly/http/server/FileCacheFilter$FileSendEntry;
0 10 1 ctx Lorg/glassfish/grizzly/filterchain/FilterChainContext;
0 10 2 response Lorg/glassfish/grizzly/http/HttpResponsePacket;
0 10 3 fis Ljava/io/FileInputStream;
0 10 4 fc Ljava/nio/channels/FileChannel;
0 10 5 size J
7 10 7 httpContext Lorg/glassfish/grizzly/http/HttpContext;
MethodParameters:
Name Flags
ctx final
response final
fis final
fc final
size final
public void close();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.glassfish.grizzly.http.server.FileCacheFilter$FileSendEntry.fis:Ljava/io/FileInputStream;
invokevirtual java.io.FileInputStream.close:()V
1: goto 3
StackMap locals:
StackMap stack: java.io.IOException
2: pop
3: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/glassfish/grizzly/http/server/FileCacheFilter$FileSendEntry;
Exception table:
from to target type
0 1 2 Class java.io.IOException
private void send();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=5, args_size=1
start local 0 0: StackMap locals:
StackMap stack:
aload 0
getfield org.glassfish.grizzly.http.server.FileCacheFilter$FileSendEntry.ctx:Lorg/glassfish/grizzly/filterchain/FilterChainContext;
invokevirtual org.glassfish.grizzly.filterchain.FilterChainContext.getMemoryManager:()Lorg/glassfish/grizzly/memory/MemoryManager;
sipush 8192
invokeinterface org.glassfish.grizzly.memory.MemoryManager.allocate:(I)Lorg/glassfish/grizzly/Buffer;
astore 2
start local 2 1: aload 2
iconst_1
invokeinterface org.glassfish.grizzly.Buffer.allowBufferDispose:(Z)V
2: aload 0
getfield org.glassfish.grizzly.http.server.FileCacheFilter$FileSendEntry.fc:Ljava/nio/channels/FileChannel;
aload 2
invokestatic org.glassfish.grizzly.memory.Buffers.readFromFileChannel:(Ljava/nio/channels/FileChannel;Lorg/glassfish/grizzly/Buffer;)J
lstore 3
start local 3 3: lload 3
lconst_0
lcmp
ifle 4
aload 0
dup
getfield org.glassfish.grizzly.http.server.FileCacheFilter$FileSendEntry.remaining:J
lload 3
lsub
dup2_x1
putfield org.glassfish.grizzly.http.server.FileCacheFilter$FileSendEntry.remaining:J
lconst_0
lcmp
ifle 4
iconst_0
goto 5
StackMap locals: org.glassfish.grizzly.http.server.FileCacheFilter$FileSendEntry top org.glassfish.grizzly.Buffer long
StackMap stack:
4: iconst_1
StackMap locals:
StackMap stack: int
5: istore 1
start local 1 6: aload 2
invokeinterface org.glassfish.grizzly.Buffer.trim:()V
7: aload 0
getfield org.glassfish.grizzly.http.server.FileCacheFilter$FileSendEntry.ctx:Lorg/glassfish/grizzly/filterchain/FilterChainContext;
aload 0
getfield org.glassfish.grizzly.http.server.FileCacheFilter$FileSendEntry.response:Lorg/glassfish/grizzly/http/HttpResponsePacket;
invokestatic org.glassfish.grizzly.http.HttpContent.builder:(Lorg/glassfish/grizzly/http/HttpHeader;)Lorg/glassfish/grizzly/http/HttpContent$Builder;
8: aload 2
invokevirtual org.glassfish.grizzly.http.HttpContent$Builder.content:(Lorg/glassfish/grizzly/Buffer;)Lorg/glassfish/grizzly/http/HttpContent$Builder;
9: iload 1
invokevirtual org.glassfish.grizzly.http.HttpContent$Builder.last:(Z)Lorg/glassfish/grizzly/http/HttpContent$Builder;
10: invokevirtual org.glassfish.grizzly.http.HttpContent$Builder.build:()Lorg/glassfish/grizzly/http/HttpContent;
11: invokevirtual org.glassfish.grizzly.filterchain.FilterChainContext.write:(Ljava/lang/Object;)V
end local 3 end local 2 12: iload 1
ifne 13
aload 0
getfield org.glassfish.grizzly.http.server.FileCacheFilter$FileSendEntry.output:Lorg/glassfish/grizzly/OutputSink;
invokeinterface org.glassfish.grizzly.OutputSink.canWrite:()Z
ifne 0
13: StackMap locals: org.glassfish.grizzly.http.server.FileCacheFilter$FileSendEntry int
StackMap stack:
iload 1
ifeq 16
14: aload 0
invokevirtual org.glassfish.grizzly.http.server.FileCacheFilter$FileSendEntry.done:()V
15: goto 20
16: StackMap locals:
StackMap stack:
aload 0
getfield org.glassfish.grizzly.http.server.FileCacheFilter$FileSendEntry.output:Lorg/glassfish/grizzly/OutputSink;
aload 0
invokeinterface org.glassfish.grizzly.OutputSink.notifyCanWrite:(Lorg/glassfish/grizzly/WriteHandler;)V
end local 1 17: goto 20
StackMap locals: org.glassfish.grizzly.http.server.FileCacheFilter$FileSendEntry
StackMap stack: java.io.IOException
18: pop
19: aload 0
invokevirtual org.glassfish.grizzly.http.server.FileCacheFilter$FileSendEntry.done:()V
20: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 21 0 this Lorg/glassfish/grizzly/http/server/FileCacheFilter$FileSendEntry;
6 17 1 isLast Z
1 12 2 buffer Lorg/glassfish/grizzly/Buffer;
3 12 3 readNow J
Exception table:
from to target type
0 17 18 Class java.io.IOException
private void done();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual org.glassfish.grizzly.http.server.FileCacheFilter$FileSendEntry.close:()V
1: aload 0
getfield org.glassfish.grizzly.http.server.FileCacheFilter$FileSendEntry.ctx:Lorg/glassfish/grizzly/filterchain/FilterChainContext;
aload 0
getfield org.glassfish.grizzly.http.server.FileCacheFilter$FileSendEntry.ctx:Lorg/glassfish/grizzly/filterchain/FilterChainContext;
invokevirtual org.glassfish.grizzly.filterchain.FilterChainContext.getStopAction:()Lorg/glassfish/grizzly/filterchain/NextAction;
invokevirtual org.glassfish.grizzly.filterchain.FilterChainContext.resume:(Lorg/glassfish/grizzly/filterchain/NextAction;)V
2: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/glassfish/grizzly/http/server/FileCacheFilter$FileSendEntry;
public void onWritePossible();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual org.glassfish.grizzly.http.server.FileCacheFilter$FileSendEntry.send:()V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/glassfish/grizzly/http/server/FileCacheFilter$FileSendEntry;
Exceptions:
throws java.lang.Exception
public void onError(java.lang.Throwable);
descriptor: (Ljava/lang/Throwable;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual org.glassfish.grizzly.http.server.FileCacheFilter$FileSendEntry.done:()V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/glassfish/grizzly/http/server/FileCacheFilter$FileSendEntry;
0 2 1 t Ljava/lang/Throwable;
MethodParameters:
Name Flags
t
}
SourceFile: "FileCacheFilter.java"
NestHost: org.glassfish.grizzly.http.server.FileCacheFilter
InnerClasses:
public Builder = org.glassfish.grizzly.http.HttpContent$Builder of org.glassfish.grizzly.http.HttpContent
private FileSendEntry = org.glassfish.grizzly.http.server.FileCacheFilter$FileSendEntry of org.glassfish.grizzly.http.server.FileCacheFilter