public class org.glassfish.grizzly.http.io.OutputBuffer
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.glassfish.grizzly.http.io.OutputBuffer
super_class: java.lang.Object
{
protected static final java.util.logging.Logger LOGGER;
descriptor: Ljava/util/logging/Logger;
flags: (0x001c) ACC_PROTECTED, ACC_STATIC, ACC_FINAL
private static final int DEFAULT_BUFFER_SIZE;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final int MAX_CHAR_BUFFER_SIZE;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final int MIN_BUFFER_SIZE;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 512
private static final boolean IS_BLOCKING;
descriptor: Z
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private org.glassfish.grizzly.filterchain.FilterChainContext ctx;
descriptor: Lorg/glassfish/grizzly/filterchain/FilterChainContext;
flags: (0x0002) ACC_PRIVATE
private org.glassfish.grizzly.memory.CompositeBuffer compositeBuffer;
descriptor: Lorg/glassfish/grizzly/memory/CompositeBuffer;
flags: (0x0002) ACC_PRIVATE
private org.glassfish.grizzly.Buffer currentBuffer;
descriptor: Lorg/glassfish/grizzly/Buffer;
flags: (0x0002) ACC_PRIVATE
private final org.glassfish.grizzly.http.io.TemporaryHeapBuffer temporaryWriteBuffer;
descriptor: Lorg/glassfish/grizzly/http/io/TemporaryHeapBuffer;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final org.glassfish.grizzly.http.io.OutputBuffer$ByteArrayCloner cloner;
descriptor: Lorg/glassfish/grizzly/http/io/OutputBuffer$ByteArrayCloner;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.util.List<org.glassfish.grizzly.http.io.OutputBuffer$LifeCycleListener> lifeCycleListeners;
descriptor: Ljava/util/List;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/List<Lorg/glassfish/grizzly/http/io/OutputBuffer$LifeCycleListener;>;
private boolean committed;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private boolean ;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private boolean finished;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private boolean closed;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private java.nio.charset.CharsetEncoder encoder;
descriptor: Ljava/nio/charset/CharsetEncoder;
flags: (0x0002) ACC_PRIVATE
private final java.util.Map<java.lang.String, java.nio.charset.CharsetEncoder> encoders;
descriptor: Ljava/util/Map;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/Map<Ljava/lang/String;Ljava/nio/charset/CharsetEncoder;>;
private char[] charsArray;
descriptor: [C
flags: (0x0002) ACC_PRIVATE
private int charsArrayLength;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private java.nio.CharBuffer charsBuffer;
descriptor: Ljava/nio/CharBuffer;
flags: (0x0002) ACC_PRIVATE
private org.glassfish.grizzly.memory.MemoryManager memoryManager;
descriptor: Lorg/glassfish/grizzly/memory/MemoryManager;
flags: (0x0002) ACC_PRIVATE
private org.glassfish.grizzly.Connection connection;
descriptor: Lorg/glassfish/grizzly/Connection;
flags: (0x0002) ACC_PRIVATE
private org.glassfish.grizzly.WriteHandler handler;
descriptor: Lorg/glassfish/grizzly/WriteHandler;
flags: (0x0002) ACC_PRIVATE
private org.glassfish.grizzly.http.io.OutputBuffer$InternalWriteHandler asyncWriteHandler;
descriptor: Lorg/glassfish/grizzly/http/io/OutputBuffer$InternalWriteHandler;
flags: (0x0002) ACC_PRIVATE
private boolean fileTransferRequested;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private int bufferSize;
descriptor: I
flags: (0x0002) ACC_PRIVATE
protected boolean sendfileEnabled;
descriptor: Z
flags: (0x0004) ACC_PROTECTED
private org.glassfish.grizzly.http.HttpHeader ;
descriptor: Lorg/glassfish/grizzly/http/HttpHeader;
flags: (0x0002) ACC_PRIVATE
private java.lang.Runnable writePossibleRunnable;
descriptor: Ljava/lang/Runnable;
flags: (0x0002) ACC_PRIVATE
private org.glassfish.grizzly.http.HttpContent$Builder builder;
descriptor: Lorg/glassfish/grizzly/http/HttpContent$Builder;
flags: (0x0002) ACC_PRIVATE
private boolean isNonBlockingWriteGuaranteed;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private boolean isLastWriteNonBlocking;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private org.glassfish.grizzly.http.HttpContext httpContext;
descriptor: Lorg/glassfish/grizzly/http/HttpContext;
flags: (0x0002) ACC_PRIVATE
private java.util.function.Supplier<java.util.Map<java.lang.String, java.lang.String>> ;
descriptor: Ljava/util/function/Supplier;
flags: (0x0002) ACC_PRIVATE
Signature: Ljava/util/function/Supplier<Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;>;
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=3, locals=0, args_size=0
0: ldc Lorg/glassfish/grizzly/http/io/OutputBuffer;
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.io.OutputBuffer.$assertionsDisabled:Z
3: ldc Lorg/glassfish/grizzly/http/io/OutputBuffer;
invokestatic org.glassfish.grizzly.Grizzly.logger:(Ljava/lang/Class;)Ljava/util/logging/Logger;
putstatic org.glassfish.grizzly.http.io.OutputBuffer.LOGGER:Ljava/util/logging/Logger;
4: new java.lang.StringBuilder
dup
ldc Lorg/glassfish/grizzly/http/io/OutputBuffer;
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc ".default-buffer-size"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
sipush 8192
invokestatic java.lang.Integer.getInteger:(Ljava/lang/String;I)Ljava/lang/Integer;
invokevirtual java.lang.Integer.intValue:()I
putstatic org.glassfish.grizzly.http.io.OutputBuffer.DEFAULT_BUFFER_SIZE:I
5: new java.lang.StringBuilder
dup
ldc Lorg/glassfish/grizzly/http/io/OutputBuffer;
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc ".max-char-buffer-size"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
ldc 65537
invokestatic java.lang.Integer.getInteger:(Ljava/lang/String;I)Ljava/lang/Integer;
invokevirtual java.lang.Integer.intValue:()I
putstatic org.glassfish.grizzly.http.io.OutputBuffer.MAX_CHAR_BUFFER_SIZE:I
6: new java.lang.StringBuilder
dup
ldc Lorg/glassfish/grizzly/http/io/OutputBuffer;
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc ".isBlocking"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic java.lang.Boolean.getBoolean:(Ljava/lang/String;)Z
putstatic org.glassfish.grizzly.http.io.OutputBuffer.IS_BLOCKING:Z
return
LocalVariableTable:
Start End Slot Name Signature
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=1, args_size=1
start local 0 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
new org.glassfish.grizzly.http.io.TemporaryHeapBuffer
dup
invokespecial org.glassfish.grizzly.http.io.TemporaryHeapBuffer.<init>:()V
putfield org.glassfish.grizzly.http.io.OutputBuffer.temporaryWriteBuffer:Lorg/glassfish/grizzly/http/io/TemporaryHeapBuffer;
2: aload 0
new org.glassfish.grizzly.http.io.OutputBuffer$ByteArrayCloner
dup
aload 0
getfield org.glassfish.grizzly.http.io.OutputBuffer.temporaryWriteBuffer:Lorg/glassfish/grizzly/http/io/TemporaryHeapBuffer;
invokespecial org.glassfish.grizzly.http.io.OutputBuffer$ByteArrayCloner.<init>:(Lorg/glassfish/grizzly/http/io/TemporaryHeapBuffer;)V
putfield org.glassfish.grizzly.http.io.OutputBuffer.cloner:Lorg/glassfish/grizzly/http/io/OutputBuffer$ByteArrayCloner;
3: aload 0
new java.util.ArrayList
dup
iconst_2
invokespecial java.util.ArrayList.<init>:(I)V
putfield org.glassfish.grizzly.http.io.OutputBuffer.lifeCycleListeners:Ljava/util/List;
4: aload 0
new java.util.HashMap
dup
invokespecial java.util.HashMap.<init>:()V
putfield org.glassfish.grizzly.http.io.OutputBuffer.encoders:Ljava/util/Map;
5: aload 0
getstatic org.glassfish.grizzly.http.io.OutputBuffer.DEFAULT_BUFFER_SIZE:I
putfield org.glassfish.grizzly.http.io.OutputBuffer.bufferSize:I
6: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lorg/glassfish/grizzly/http/io/OutputBuffer;
public void (org.glassfish.grizzly.http.HttpHeader, boolean, org.glassfish.grizzly.filterchain.FilterChainContext);
descriptor: (Lorg/glassfish/grizzly/http/HttpHeader;ZLorg/glassfish/grizzly/filterchain/FilterChainContext;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aload 1
putfield org.glassfish.grizzly.http.io.OutputBuffer.outputHeader:Lorg/glassfish/grizzly/http/HttpHeader;
1: aload 0
getfield org.glassfish.grizzly.http.io.OutputBuffer.builder:Lorg/glassfish/grizzly/http/HttpContent$Builder;
ifnonnull 4
2: aload 0
aload 1
invokevirtual org.glassfish.grizzly.http.HttpHeader.httpContentBuilder:()Lorg/glassfish/grizzly/http/HttpContent$Builder;
putfield org.glassfish.grizzly.http.io.OutputBuffer.builder:Lorg/glassfish/grizzly/http/HttpContent$Builder;
3: goto 5
4: StackMap locals:
StackMap stack:
aload 0
getfield org.glassfish.grizzly.http.io.OutputBuffer.builder:Lorg/glassfish/grizzly/http/HttpContent$Builder;
aload 1
invokevirtual org.glassfish.grizzly.http.HttpContent$Builder.httpHeader:(Lorg/glassfish/grizzly/http/HttpHeader;)Lorg/glassfish/grizzly/http/HttpContent$Builder;
pop
5: StackMap locals:
StackMap stack:
aload 0
iload 2
putfield org.glassfish.grizzly.http.io.OutputBuffer.sendfileEnabled:Z
6: aload 0
aload 3
putfield org.glassfish.grizzly.http.io.OutputBuffer.ctx:Lorg/glassfish/grizzly/filterchain/FilterChainContext;
7: aload 0
aload 1
invokevirtual org.glassfish.grizzly.http.HttpHeader.getProcessingState:()Lorg/glassfish/grizzly/http/ProcessingState;
invokevirtual org.glassfish.grizzly.http.ProcessingState.getHttpContext:()Lorg/glassfish/grizzly/http/HttpContext;
putfield org.glassfish.grizzly.http.io.OutputBuffer.httpContext:Lorg/glassfish/grizzly/http/HttpContext;
8: aload 0
aload 3
invokevirtual org.glassfish.grizzly.filterchain.FilterChainContext.getConnection:()Lorg/glassfish/grizzly/Connection;
putfield org.glassfish.grizzly.http.io.OutputBuffer.connection:Lorg/glassfish/grizzly/Connection;
9: aload 0
aload 3
invokevirtual org.glassfish.grizzly.filterchain.FilterChainContext.getMemoryManager:()Lorg/glassfish/grizzly/memory/MemoryManager;
putfield org.glassfish.grizzly.http.io.OutputBuffer.memoryManager:Lorg/glassfish/grizzly/memory/MemoryManager;
10: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lorg/glassfish/grizzly/http/io/OutputBuffer;
0 11 1 outputHeader Lorg/glassfish/grizzly/http/HttpHeader;
0 11 2 sendfileEnabled Z
0 11 3 ctx Lorg/glassfish/grizzly/filterchain/FilterChainContext;
MethodParameters:
Name Flags
outputHeader final
sendfileEnabled final
ctx final
public boolean isAsyncEnabled();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: iconst_1
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/glassfish/grizzly/http/io/OutputBuffer;
RuntimeVisibleAnnotations:
java.lang.Deprecated()
public void setAsyncEnabled(boolean);
descriptor: (Z)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=0, locals=2, args_size=2
start local 0 start local 1 0: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/glassfish/grizzly/http/io/OutputBuffer;
0 1 1 asyncEnabled Z
RuntimeVisibleAnnotations:
java.lang.Deprecated()
MethodParameters:
Name Flags
asyncEnabled
public void prepareCharacterEncoder();
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.io.OutputBuffer.getEncoder:()Ljava/nio/charset/CharsetEncoder;
pop
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/glassfish/grizzly/http/io/OutputBuffer;
public int getBufferSize();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.glassfish.grizzly.http.io.OutputBuffer.bufferSize:I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/glassfish/grizzly/http/io/OutputBuffer;
public void registerLifeCycleListener(org.glassfish.grizzly.http.io.OutputBuffer$LifeCycleListener);
descriptor: (Lorg/glassfish/grizzly/http/io/OutputBuffer$LifeCycleListener;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield org.glassfish.grizzly.http.io.OutputBuffer.lifeCycleListeners:Ljava/util/List;
aload 1
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/glassfish/grizzly/http/io/OutputBuffer;
0 2 1 listener Lorg/glassfish/grizzly/http/io/OutputBuffer$LifeCycleListener;
MethodParameters:
Name Flags
listener final
public boolean removeLifeCycleListener(org.glassfish.grizzly.http.io.OutputBuffer$LifeCycleListener);
descriptor: (Lorg/glassfish/grizzly/http/io/OutputBuffer$LifeCycleListener;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield org.glassfish.grizzly.http.io.OutputBuffer.lifeCycleListeners:Ljava/util/List;
aload 1
invokeinterface java.util.List.remove:(Ljava/lang/Object;)Z
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/glassfish/grizzly/http/io/OutputBuffer;
0 1 1 listener Lorg/glassfish/grizzly/http/io/OutputBuffer$LifeCycleListener;
MethodParameters:
Name Flags
listener final
public void setBufferSize(int);
descriptor: (I)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=4, args_size=2
start local 0 start local 1 0: aload 0
getfield org.glassfish.grizzly.http.io.OutputBuffer.committed:Z
ifeq 2
1: return
2: StackMap locals:
StackMap stack:
iload 1
sipush 512
invokestatic java.lang.Math.max:(II)I
istore 2
start local 2 3: aload 0
getfield org.glassfish.grizzly.http.io.OutputBuffer.currentBuffer:Lorg/glassfish/grizzly/Buffer;
ifnonnull 5
4: aload 0
iload 2
putfield org.glassfish.grizzly.http.io.OutputBuffer.bufferSize:I
5: StackMap locals: int
StackMap stack:
aload 0
getfield org.glassfish.grizzly.http.io.OutputBuffer.charsArray:[C
ifnull 10
aload 0
getfield org.glassfish.grizzly.http.io.OutputBuffer.charsArray:[C
arraylength
iload 2
if_icmpge 10
6: iload 2
newarray 5
astore 3
start local 3 7: aload 0
getfield org.glassfish.grizzly.http.io.OutputBuffer.charsArray:[C
iconst_0
aload 3
iconst_0
aload 0
getfield org.glassfish.grizzly.http.io.OutputBuffer.charsArrayLength:I
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
8: aload 0
aload 3
invokestatic java.nio.CharBuffer.wrap:([C)Ljava/nio/CharBuffer;
putfield org.glassfish.grizzly.http.io.OutputBuffer.charsBuffer:Ljava/nio/CharBuffer;
9: aload 0
aload 3
putfield org.glassfish.grizzly.http.io.OutputBuffer.charsArray:[C
end local 3 10: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lorg/glassfish/grizzly/http/io/OutputBuffer;
0 11 1 bufferSize I
3 11 2 bufferSizeLocal I
7 10 3 newCharsArray [C
MethodParameters:
Name Flags
bufferSize final
public void reset();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
getfield org.glassfish.grizzly.http.io.OutputBuffer.committed:Z
ifeq 2
1: new java.lang.IllegalStateException
dup
ldc "Cannot reset the response as it has already been committed."
invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
aload 0
aconst_null
putfield org.glassfish.grizzly.http.io.OutputBuffer.compositeBuffer:Lorg/glassfish/grizzly/memory/CompositeBuffer;
3: aload 0
getfield org.glassfish.grizzly.http.io.OutputBuffer.currentBuffer:Lorg/glassfish/grizzly/Buffer;
ifnull 5
4: aload 0
getfield org.glassfish.grizzly.http.io.OutputBuffer.currentBuffer:Lorg/glassfish/grizzly/Buffer;
invokeinterface org.glassfish.grizzly.Buffer.clear:()Lorg/glassfish/grizzly/Buffer;
pop
5: StackMap locals:
StackMap stack:
aload 0
iconst_0
putfield org.glassfish.grizzly.http.io.OutputBuffer.charsArrayLength:I
6: aload 0
aconst_null
putfield org.glassfish.grizzly.http.io.OutputBuffer.encoder:Ljava/nio/charset/CharsetEncoder;
7: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lorg/glassfish/grizzly/http/io/OutputBuffer;
public boolean isClosed();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.glassfish.grizzly.http.io.OutputBuffer.closed:Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/glassfish/grizzly/http/io/OutputBuffer;
public int getBufferedDataSize();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=1
start local 0 0: iconst_0
istore 1
start local 1 1: aload 0
getfield org.glassfish.grizzly.http.io.OutputBuffer.compositeBuffer:Lorg/glassfish/grizzly/memory/CompositeBuffer;
ifnull 3
2: iload 1
aload 0
getfield org.glassfish.grizzly.http.io.OutputBuffer.compositeBuffer:Lorg/glassfish/grizzly/memory/CompositeBuffer;
invokevirtual org.glassfish.grizzly.memory.CompositeBuffer.remaining:()I
iadd
istore 1
3: StackMap locals: int
StackMap stack:
aload 0
getfield org.glassfish.grizzly.http.io.OutputBuffer.currentBuffer:Lorg/glassfish/grizzly/Buffer;
ifnull 5
4: iload 1
aload 0
getfield org.glassfish.grizzly.http.io.OutputBuffer.currentBuffer:Lorg/glassfish/grizzly/Buffer;
invokeinterface org.glassfish.grizzly.Buffer.position:()I
iadd
istore 1
5: StackMap locals:
StackMap stack:
iload 1
aload 0
getfield org.glassfish.grizzly.http.io.OutputBuffer.charsArrayLength:I
iconst_1
ishl
iadd
istore 1
6: iload 1
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lorg/glassfish/grizzly/http/io/OutputBuffer;
1 7 1 size I
public void recycle();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
aconst_null
putfield org.glassfish.grizzly.http.io.OutputBuffer.outputHeader:Lorg/glassfish/grizzly/http/HttpHeader;
1: aload 0
getfield org.glassfish.grizzly.http.io.OutputBuffer.builder:Lorg/glassfish/grizzly/http/HttpContent$Builder;
invokevirtual org.glassfish.grizzly.http.HttpContent$Builder.reset:()V
2: aload 0
getfield org.glassfish.grizzly.http.io.OutputBuffer.compositeBuffer:Lorg/glassfish/grizzly/memory/CompositeBuffer;
ifnull 5
3: aload 0
getfield org.glassfish.grizzly.http.io.OutputBuffer.compositeBuffer:Lorg/glassfish/grizzly/memory/CompositeBuffer;
invokevirtual org.glassfish.grizzly.memory.CompositeBuffer.dispose:()V
4: aload 0
aconst_null
putfield org.glassfish.grizzly.http.io.OutputBuffer.compositeBuffer:Lorg/glassfish/grizzly/memory/CompositeBuffer;
5: StackMap locals:
StackMap stack:
aload 0
getfield org.glassfish.grizzly.http.io.OutputBuffer.currentBuffer:Lorg/glassfish/grizzly/Buffer;
ifnull 8
6: aload 0
getfield org.glassfish.grizzly.http.io.OutputBuffer.currentBuffer:Lorg/glassfish/grizzly/Buffer;
invokeinterface org.glassfish.grizzly.Buffer.dispose:()V
7: aload 0
aconst_null
putfield org.glassfish.grizzly.http.io.OutputBuffer.currentBuffer:Lorg/glassfish/grizzly/Buffer;
8: StackMap locals:
StackMap stack:
aload 0
getfield org.glassfish.grizzly.http.io.OutputBuffer.temporaryWriteBuffer:Lorg/glassfish/grizzly/http/io/TemporaryHeapBuffer;
invokevirtual org.glassfish.grizzly.http.io.TemporaryHeapBuffer.recycle:()V
9: aload 0
getfield org.glassfish.grizzly.http.io.OutputBuffer.charsArray:[C
ifnull 16
10: aload 0
iconst_0
putfield org.glassfish.grizzly.http.io.OutputBuffer.charsArrayLength:I
11: aload 0
getfield org.glassfish.grizzly.http.io.OutputBuffer.charsArray:[C
arraylength
getstatic org.glassfish.grizzly.http.io.OutputBuffer.MAX_CHAR_BUFFER_SIZE:I
if_icmpge 14
12: aload 0
getfield org.glassfish.grizzly.http.io.OutputBuffer.charsBuffer:Ljava/nio/CharBuffer;
invokevirtual java.nio.CharBuffer.clear:()Ljava/nio/Buffer;
pop
13: goto 16
14: StackMap locals:
StackMap stack:
aload 0
aconst_null
putfield org.glassfish.grizzly.http.io.OutputBuffer.charsBuffer:Ljava/nio/CharBuffer;
15: aload 0
aconst_null
putfield org.glassfish.grizzly.http.io.OutputBuffer.charsArray:[C
16: StackMap locals:
StackMap stack:
aload 0
getstatic org.glassfish.grizzly.http.io.OutputBuffer.DEFAULT_BUFFER_SIZE:I
putfield org.glassfish.grizzly.http.io.OutputBuffer.bufferSize:I
17: aload 0
iconst_0
putfield org.glassfish.grizzly.http.io.OutputBuffer.fileTransferRequested:Z
18: aload 0
aconst_null
putfield org.glassfish.grizzly.http.io.OutputBuffer.encoder:Ljava/nio/charset/CharsetEncoder;
19: aload 0
aconst_null
putfield org.glassfish.grizzly.http.io.OutputBuffer.ctx:Lorg/glassfish/grizzly/filterchain/FilterChainContext;
20: aload 0
aconst_null
putfield org.glassfish.grizzly.http.io.OutputBuffer.httpContext:Lorg/glassfish/grizzly/http/HttpContext;
21: aload 0
aconst_null
putfield org.glassfish.grizzly.http.io.OutputBuffer.connection:Lorg/glassfish/grizzly/Connection;
22: aload 0
aconst_null
putfield org.glassfish.grizzly.http.io.OutputBuffer.memoryManager:Lorg/glassfish/grizzly/memory/MemoryManager;
23: aload 0
aconst_null
putfield org.glassfish.grizzly.http.io.OutputBuffer.handler:Lorg/glassfish/grizzly/WriteHandler;
24: aload 0
iconst_0
putfield org.glassfish.grizzly.http.io.OutputBuffer.isNonBlockingWriteGuaranteed:Z
25: aload 0
iconst_0
putfield org.glassfish.grizzly.http.io.OutputBuffer.isLastWriteNonBlocking:Z
26: aload 0
aconst_null
putfield org.glassfish.grizzly.http.io.OutputBuffer.asyncWriteHandler:Lorg/glassfish/grizzly/http/io/OutputBuffer$InternalWriteHandler;
27: aload 0
aconst_null
putfield org.glassfish.grizzly.http.io.OutputBuffer.trailersSupplier:Ljava/util/function/Supplier;
28: aload 0
iconst_0
putfield org.glassfish.grizzly.http.io.OutputBuffer.committed:Z
29: aload 0
iconst_0
putfield org.glassfish.grizzly.http.io.OutputBuffer.finished:Z
30: aload 0
iconst_0
putfield org.glassfish.grizzly.http.io.OutputBuffer.closed:Z
31: aload 0
iconst_0
putfield org.glassfish.grizzly.http.io.OutputBuffer.headersWritten:Z
32: aload 0
getfield org.glassfish.grizzly.http.io.OutputBuffer.lifeCycleListeners:Ljava/util/List;
invokeinterface java.util.List.clear:()V
33: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 34 0 this Lorg/glassfish/grizzly/http/io/OutputBuffer;
public void endRequest();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
getfield org.glassfish.grizzly.http.io.OutputBuffer.finished:Z
ifeq 2
1: return
2: StackMap locals:
StackMap stack:
aload 0
getfield org.glassfish.grizzly.http.io.OutputBuffer.asyncWriteHandler:Lorg/glassfish/grizzly/http/io/OutputBuffer$InternalWriteHandler;
astore 1
start local 1 3: aload 1
ifnull 6
4: aload 0
aconst_null
putfield org.glassfish.grizzly.http.io.OutputBuffer.asyncWriteHandler:Lorg/glassfish/grizzly/http/io/OutputBuffer$InternalWriteHandler;
5: aload 1
invokevirtual org.glassfish.grizzly.http.io.OutputBuffer$InternalWriteHandler.detach:()V
6: StackMap locals: org.glassfish.grizzly.http.io.OutputBuffer$InternalWriteHandler
StackMap stack:
aload 0
getfield org.glassfish.grizzly.http.io.OutputBuffer.closed:Z
ifne 10
7: aload 0
invokevirtual org.glassfish.grizzly.http.io.OutputBuffer.close:()V
8: goto 10
StackMap locals:
StackMap stack: java.io.IOException
9: pop
10: StackMap locals:
StackMap stack:
aload 0
getfield org.glassfish.grizzly.http.io.OutputBuffer.ctx:Lorg/glassfish/grizzly/filterchain/FilterChainContext;
ifnull 12
11: aload 0
getfield org.glassfish.grizzly.http.io.OutputBuffer.ctx:Lorg/glassfish/grizzly/filterchain/FilterChainContext;
getstatic org.glassfish.grizzly.http.HttpServerFilter.RESPONSE_COMPLETE_EVENT:Lorg/glassfish/grizzly/filterchain/FilterChainEvent;
invokevirtual org.glassfish.grizzly.filterchain.FilterChainContext.notifyDownstream:(Lorg/glassfish/grizzly/filterchain/FilterChainEvent;)V
12: StackMap locals:
StackMap stack:
aload 0
iconst_1
putfield org.glassfish.grizzly.http.io.OutputBuffer.finished:Z
13: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 this Lorg/glassfish/grizzly/http/io/OutputBuffer;
3 14 1 asyncWriteQueueHandlerLocal Lorg/glassfish/grizzly/http/io/OutputBuffer$InternalWriteHandler;
Exception table:
from to target type
7 8 9 Class java.io.IOException
Exceptions:
throws java.io.IOException
public void acknowledge();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
getfield org.glassfish.grizzly.http.io.OutputBuffer.ctx:Lorg/glassfish/grizzly/filterchain/FilterChainContext;
aload 0
getfield org.glassfish.grizzly.http.io.OutputBuffer.outputHeader:Lorg/glassfish/grizzly/http/HttpHeader;
getstatic org.glassfish.grizzly.http.io.OutputBuffer.IS_BLOCKING:Z
invokevirtual org.glassfish.grizzly.filterchain.FilterChainContext.write:(Ljava/lang/Object;Z)V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/glassfish/grizzly/http/io/OutputBuffer;
Exceptions:
throws java.io.IOException
public void writeChar(int);
descriptor: (I)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield org.glassfish.grizzly.http.io.OutputBuffer.connection:Lorg/glassfish/grizzly/Connection;
invokeinterface org.glassfish.grizzly.Connection.assertOpen:()V
1: aload 0
getfield org.glassfish.grizzly.http.io.OutputBuffer.closed:Z
ifeq 3
2: return
3: StackMap locals:
StackMap stack:
aload 0
invokevirtual org.glassfish.grizzly.http.io.OutputBuffer.updateNonBlockingStatus:()V
4: aload 0
invokevirtual org.glassfish.grizzly.http.io.OutputBuffer.checkCharBuffer:()V
5: aload 0
getfield org.glassfish.grizzly.http.io.OutputBuffer.charsArrayLength:I
aload 0
getfield org.glassfish.grizzly.http.io.OutputBuffer.charsArray:[C
arraylength
if_icmpne 7
6: aload 0
iconst_1
invokevirtual org.glassfish.grizzly.http.io.OutputBuffer.flushCharsToBuf:(Z)V
7: StackMap locals:
StackMap stack:
aload 0
getfield org.glassfish.grizzly.http.io.OutputBuffer.charsArray:[C
aload 0
dup
getfield org.glassfish.grizzly.http.io.OutputBuffer.charsArrayLength:I
dup_x1
iconst_1
iadd
putfield org.glassfish.grizzly.http.io.OutputBuffer.charsArrayLength:I
iload 1
i2c
castore
8: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lorg/glassfish/grizzly/http/io/OutputBuffer;
0 9 1 c I
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
c
public void write(char[], int, int);
descriptor: ([CII)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
getfield org.glassfish.grizzly.http.io.OutputBuffer.connection:Lorg/glassfish/grizzly/Connection;
invokeinterface org.glassfish.grizzly.Connection.assertOpen:()V
1: aload 0
getfield org.glassfish.grizzly.http.io.OutputBuffer.closed:Z
ifne 2
iload 3
ifne 3
2: StackMap locals:
StackMap stack:
return
3: StackMap locals:
StackMap stack:
aload 0
invokevirtual org.glassfish.grizzly.http.io.OutputBuffer.updateNonBlockingStatus:()V
4: aload 0
invokevirtual org.glassfish.grizzly.http.io.OutputBuffer.writingBytes:()Z
ifeq 6
5: aload 0
iconst_0
invokevirtual org.glassfish.grizzly.http.io.OutputBuffer.flushBinaryBuffers:(Z)Z
pop
6: StackMap locals:
StackMap stack:
aload 0
invokevirtual org.glassfish.grizzly.http.io.OutputBuffer.checkCharBuffer:()V
7: aload 0
getfield org.glassfish.grizzly.http.io.OutputBuffer.charsArray:[C
arraylength
aload 0
getfield org.glassfish.grizzly.http.io.OutputBuffer.charsArrayLength:I
isub
istore 4
start local 4 8: iload 3
iload 4
if_icmpgt 12
9: aload 1
iload 2
aload 0
getfield org.glassfish.grizzly.http.io.OutputBuffer.charsArray:[C
aload 0
getfield org.glassfish.grizzly.http.io.OutputBuffer.charsArrayLength:I
iload 3
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
10: aload 0
dup
getfield org.glassfish.grizzly.http.io.OutputBuffer.charsArrayLength:I
iload 3
iadd
putfield org.glassfish.grizzly.http.io.OutputBuffer.charsArrayLength:I
11: goto 21
StackMap locals: int
StackMap stack:
12: iload 3
iload 4
isub
iload 4
if_icmpge 19
13: aload 1
iload 2
aload 0
getfield org.glassfish.grizzly.http.io.OutputBuffer.charsArray:[C
aload 0
getfield org.glassfish.grizzly.http.io.OutputBuffer.charsArrayLength:I
iload 4
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
14: aload 0
dup
getfield org.glassfish.grizzly.http.io.OutputBuffer.charsArrayLength:I
iload 4
iadd
putfield org.glassfish.grizzly.http.io.OutputBuffer.charsArrayLength:I
15: aload 0
iconst_1
invokevirtual org.glassfish.grizzly.http.io.OutputBuffer.flushCharsToBuf:(Z)V
16: aload 1
iload 2
iload 4
iadd
aload 0
getfield org.glassfish.grizzly.http.io.OutputBuffer.charsArray:[C
iconst_0
iload 3
iload 4
isub
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
17: aload 0
iload 3
iload 4
isub
putfield org.glassfish.grizzly.http.io.OutputBuffer.charsArrayLength:I
18: goto 21
19: StackMap locals:
StackMap stack:
aload 0
iconst_0
invokevirtual org.glassfish.grizzly.http.io.OutputBuffer.flushCharsToBuf:(Z)V
20: aload 0
aload 1
iload 2
iload 3
invokestatic java.nio.CharBuffer.wrap:([CII)Ljava/nio/CharBuffer;
iconst_1
invokevirtual org.glassfish.grizzly.http.io.OutputBuffer.flushCharsToBuf:(Ljava/nio/CharBuffer;Z)V
21: StackMap locals:
StackMap stack:
return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 22 0 this Lorg/glassfish/grizzly/http/io/OutputBuffer;
0 22 1 cbuf [C
0 22 2 off I
0 22 3 len I
8 22 4 remaining I
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
cbuf
off
len
public void write(char[]);
descriptor: ([C)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
iconst_0
aload 1
arraylength
invokevirtual org.glassfish.grizzly.http.io.OutputBuffer.write:([CII)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/glassfish/grizzly/http/io/OutputBuffer;
0 2 1 cbuf [C
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
cbuf final
public void write(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
aload 1
iconst_0
aload 1
invokevirtual java.lang.String.length:()I
invokevirtual org.glassfish.grizzly.http.io.OutputBuffer.write:(Ljava/lang/String;II)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/glassfish/grizzly/http/io/OutputBuffer;
0 2 1 str Ljava/lang/String;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
str final
public void write(java.lang.String, int, int);
descriptor: (Ljava/lang/String;II)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=8, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
getfield org.glassfish.grizzly.http.io.OutputBuffer.connection:Lorg/glassfish/grizzly/Connection;
invokeinterface org.glassfish.grizzly.Connection.assertOpen:()V
1: aload 0
getfield org.glassfish.grizzly.http.io.OutputBuffer.closed:Z
ifne 2
iload 3
ifne 3
2: StackMap locals:
StackMap stack:
return
3: StackMap locals:
StackMap stack:
aload 0
invokevirtual org.glassfish.grizzly.http.io.OutputBuffer.updateNonBlockingStatus:()V
4: aload 0
invokevirtual org.glassfish.grizzly.http.io.OutputBuffer.writingBytes:()Z
ifeq 6
5: aload 0
iconst_0
invokevirtual org.glassfish.grizzly.http.io.OutputBuffer.flushBinaryBuffers:(Z)Z
pop
6: StackMap locals:
StackMap stack:
aload 0
invokevirtual org.glassfish.grizzly.http.io.OutputBuffer.checkCharBuffer:()V
7: aload 0
getfield org.glassfish.grizzly.http.io.OutputBuffer.charsArray:[C
arraylength
aload 0
getfield org.glassfish.grizzly.http.io.OutputBuffer.charsArrayLength:I
isub
iload 3
if_icmplt 11
8: aload 1
iload 2
iload 2
iload 3
iadd
aload 0
getfield org.glassfish.grizzly.http.io.OutputBuffer.charsArray:[C
aload 0
getfield org.glassfish.grizzly.http.io.OutputBuffer.charsArrayLength:I
invokevirtual java.lang.String.getChars:(II[CI)V
9: aload 0
dup
getfield org.glassfish.grizzly.http.io.OutputBuffer.charsArrayLength:I
iload 3
iadd
putfield org.glassfish.grizzly.http.io.OutputBuffer.charsArrayLength:I
10: return
11: StackMap locals:
StackMap stack:
iload 2
istore 4
start local 4 12: iload 3
istore 5
start local 5 13: StackMap locals: int int
StackMap stack:
aload 0
getfield org.glassfish.grizzly.http.io.OutputBuffer.charsArray:[C
arraylength
aload 0
getfield org.glassfish.grizzly.http.io.OutputBuffer.charsArrayLength:I
isub
istore 6
start local 6 14: iload 5
iload 6
invokestatic java.lang.Math.min:(II)I
istore 7
start local 7 15: aload 1
iload 4
iload 4
iload 7
iadd
aload 0
getfield org.glassfish.grizzly.http.io.OutputBuffer.charsArray:[C
aload 0
getfield org.glassfish.grizzly.http.io.OutputBuffer.charsArrayLength:I
invokevirtual java.lang.String.getChars:(II[CI)V
16: aload 0
dup
getfield org.glassfish.grizzly.http.io.OutputBuffer.charsArrayLength:I
iload 7
iadd
putfield org.glassfish.grizzly.http.io.OutputBuffer.charsArrayLength:I
17: iload 4
iload 7
iadd
istore 4
18: iload 5
iload 7
isub
istore 5
19: iload 5
ifle 21
20: aload 0
iconst_0
invokevirtual org.glassfish.grizzly.http.io.OutputBuffer.flushCharsToBuf:(Z)V
end local 7 end local 6 21: StackMap locals:
StackMap stack:
iload 5
22: ifgt 13
23: aload 0
invokevirtual org.glassfish.grizzly.http.io.OutputBuffer.flushBinaryBuffersIfNeeded:()V
24: return
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 25 0 this Lorg/glassfish/grizzly/http/io/OutputBuffer;
0 25 1 str Ljava/lang/String;
0 25 2 off I
0 25 3 len I
12 25 4 offLocal I
13 25 5 lenLocal I
14 21 6 remaining I
15 21 7 workingLen I
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
str final
off final
len final
public void writeByte(int);
descriptor: (I)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield org.glassfish.grizzly.http.io.OutputBuffer.connection:Lorg/glassfish/grizzly/Connection;
invokeinterface org.glassfish.grizzly.Connection.assertOpen:()V
1: aload 0
getfield org.glassfish.grizzly.http.io.OutputBuffer.closed:Z
ifeq 3
2: return
3: StackMap locals:
StackMap stack:
aload 0
invokevirtual org.glassfish.grizzly.http.io.OutputBuffer.updateNonBlockingStatus:()V
4: aload 0
invokevirtual org.glassfish.grizzly.http.io.OutputBuffer.writingChars:()Z
ifeq 6
5: aload 0
iconst_0
invokevirtual org.glassfish.grizzly.http.io.OutputBuffer.flushCharsToBuf:(Z)V
6: StackMap locals:
StackMap stack:
aload 0
invokevirtual org.glassfish.grizzly.http.io.OutputBuffer.checkCurrentBuffer:()V
7: aload 0
getfield org.glassfish.grizzly.http.io.OutputBuffer.currentBuffer:Lorg/glassfish/grizzly/Buffer;
invokeinterface org.glassfish.grizzly.Buffer.hasRemaining:()Z
ifne 16
8: aload 0
invokevirtual org.glassfish.grizzly.http.io.OutputBuffer.canWritePayloadChunk:()Z
ifeq 14
9: aload 0
invokevirtual org.glassfish.grizzly.http.io.OutputBuffer.doCommit:()Z
pop
10: aload 0
iconst_0
invokevirtual org.glassfish.grizzly.http.io.OutputBuffer.flushBinaryBuffers:(Z)Z
pop
11: aload 0
invokevirtual org.glassfish.grizzly.http.io.OutputBuffer.checkCurrentBuffer:()V
12: aload 0
invokevirtual org.glassfish.grizzly.http.io.OutputBuffer.blockAfterWriteIfNeeded:()V
13: goto 16
14: StackMap locals:
StackMap stack:
aload 0
invokevirtual org.glassfish.grizzly.http.io.OutputBuffer.finishCurrentBuffer:()V
15: aload 0
invokevirtual org.glassfish.grizzly.http.io.OutputBuffer.checkCurrentBuffer:()V
16: StackMap locals:
StackMap stack:
aload 0
getfield org.glassfish.grizzly.http.io.OutputBuffer.currentBuffer:Lorg/glassfish/grizzly/Buffer;
iload 1
i2b
invokeinterface org.glassfish.grizzly.Buffer.put:(B)Lorg/glassfish/grizzly/Buffer;
pop
17: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 18 0 this Lorg/glassfish/grizzly/http/io/OutputBuffer;
0 18 1 b I
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
b final
public void write(byte[]);
descriptor: ([B)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
iconst_0
aload 1
arraylength
invokevirtual org.glassfish.grizzly.http.io.OutputBuffer.write:([BII)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/glassfish/grizzly/http/io/OutputBuffer;
0 2 1 b [B
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
b final
public void sendfile(java.io.File, org.glassfish.grizzly.CompletionHandler<org.glassfish.grizzly.WriteResult>);
descriptor: (Ljava/io/File;Lorg/glassfish/grizzly/CompletionHandler;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 1
ifnonnull 2
1: new java.lang.IllegalArgumentException
dup
ldc "Argument 'file' cannot be null"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
aload 0
aload 1
lconst_0
aload 1
invokevirtual java.io.File.length:()J
aload 2
invokevirtual org.glassfish.grizzly.http.io.OutputBuffer.sendfile:(Ljava/io/File;JJLorg/glassfish/grizzly/CompletionHandler;)V
3: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/glassfish/grizzly/http/io/OutputBuffer;
0 4 1 file Ljava/io/File;
0 4 2 handler Lorg/glassfish/grizzly/CompletionHandler<Lorg/glassfish/grizzly/WriteResult;>;
Signature: (Ljava/io/File;Lorg/glassfish/grizzly/CompletionHandler<Lorg/glassfish/grizzly/WriteResult;>;)V
MethodParameters:
Name Flags
file final
handler final
public void sendfile(java.io.File, long, long, org.glassfish.grizzly.CompletionHandler<org.glassfish.grizzly.WriteResult>);
descriptor: (Ljava/io/File;JJLorg/glassfish/grizzly/CompletionHandler;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=9, args_size=5
start local 0 start local 1 start local 2 start local 4 start local 6 0: aload 0
getfield org.glassfish.grizzly.http.io.OutputBuffer.sendfileEnabled:Z
ifne 2
1: new java.lang.IllegalStateException
dup
ldc "sendfile support isn't available."
invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
aload 0
getfield org.glassfish.grizzly.http.io.OutputBuffer.fileTransferRequested:Z
ifeq 4
3: new java.lang.IllegalStateException
dup
ldc "Only one file transfer allowed per request"
invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
athrow
4: StackMap locals:
StackMap stack:
aload 0
invokevirtual org.glassfish.grizzly.http.io.OutputBuffer.reset:()V
5: new org.glassfish.grizzly.FileTransfer
dup
aload 1
lload 2
lload 4
invokespecial org.glassfish.grizzly.FileTransfer.<init>:(Ljava/io/File;JJ)V
astore 7
start local 7 6: aload 0
iconst_1
putfield org.glassfish.grizzly.http.io.OutputBuffer.fileTransferRequested:Z
7: aload 0
getfield org.glassfish.grizzly.http.io.OutputBuffer.outputHeader:Lorg/glassfish/grizzly/http/HttpHeader;
aload 7
invokevirtual org.glassfish.grizzly.FileTransfer.remaining:()I
i2l
invokevirtual org.glassfish.grizzly.http.HttpHeader.setContentLengthLong:(J)V
8: aload 0
getfield org.glassfish.grizzly.http.io.OutputBuffer.outputHeader:Lorg/glassfish/grizzly/http/HttpHeader;
invokevirtual org.glassfish.grizzly.http.HttpHeader.getContentType:()Ljava/lang/String;
ifnonnull 10
9: aload 0
getfield org.glassfish.grizzly.http.io.OutputBuffer.outputHeader:Lorg/glassfish/grizzly/http/HttpHeader;
aload 1
invokevirtual java.io.File.getName:()Ljava/lang/String;
invokestatic org.glassfish.grizzly.http.util.MimeType.getByFilename:(Ljava/lang/String;)Ljava/lang/String;
invokevirtual org.glassfish.grizzly.http.HttpHeader.setContentType:(Ljava/lang/String;)V
10: StackMap locals: org.glassfish.grizzly.FileTransfer
StackMap stack:
aload 0
getfield org.glassfish.grizzly.http.io.OutputBuffer.outputHeader:Lorg/glassfish/grizzly/http/HttpHeader;
getstatic org.glassfish.grizzly.http.util.Header.ContentEncoding:Lorg/glassfish/grizzly/http/util/Header;
getstatic org.glassfish.grizzly.http.util.HeaderValue.IDENTITY:Lorg/glassfish/grizzly/http/util/HeaderValue;
invokevirtual org.glassfish.grizzly.http.HttpHeader.setHeader:(Lorg/glassfish/grizzly/http/util/Header;Lorg/glassfish/grizzly/http/util/HeaderValue;)V
11: aload 0
invokevirtual org.glassfish.grizzly.http.io.OutputBuffer.flush:()V
12: goto 20
StackMap locals:
StackMap stack: java.io.IOException
13: astore 8
start local 8 14: aload 6
ifnull 17
15: aload 6
aload 8
invokeinterface org.glassfish.grizzly.CompletionHandler.failed:(Ljava/lang/Throwable;)V
16: goto 19
17: StackMap locals: java.io.IOException
StackMap stack:
getstatic org.glassfish.grizzly.http.io.OutputBuffer.LOGGER:Ljava/util/logging/Logger;
getstatic java.util.logging.Level.SEVERE:Ljava/util/logging/Level;
invokevirtual java.util.logging.Logger.isLoggable:(Ljava/util/logging/Level;)Z
ifeq 19
18: getstatic org.glassfish.grizzly.http.io.OutputBuffer.LOGGER:Ljava/util/logging/Logger;
getstatic java.util.logging.Level.SEVERE:Ljava/util/logging/Level;
ldc "Failed to transfer file %s. Cause: %s."
iconst_2
anewarray java.lang.Object
dup
iconst_0
aload 1
invokevirtual java.io.File.getAbsolutePath:()Ljava/lang/String;
aastore
dup
iconst_1
aload 8
invokevirtual java.io.IOException.getMessage:()Ljava/lang/String;
aastore
invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
aload 8
invokevirtual java.util.logging.Logger.log:(Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/Throwable;)V
19: StackMap locals:
StackMap stack:
return
end local 8 20: StackMap locals:
StackMap stack:
aload 0
getfield org.glassfish.grizzly.http.io.OutputBuffer.ctx:Lorg/glassfish/grizzly/filterchain/FilterChainContext;
aload 7
aload 6
invokevirtual org.glassfish.grizzly.filterchain.FilterChainContext.write:(Ljava/lang/Object;Lorg/glassfish/grizzly/CompletionHandler;)V
21: return
end local 7 end local 6 end local 4 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 22 0 this Lorg/glassfish/grizzly/http/io/OutputBuffer;
0 22 1 file Ljava/io/File;
0 22 2 offset J
0 22 4 length J
0 22 6 handler Lorg/glassfish/grizzly/CompletionHandler<Lorg/glassfish/grizzly/WriteResult;>;
6 22 7 f Lorg/glassfish/grizzly/FileTransfer;
14 20 8 e Ljava/io/IOException;
Exception table:
from to target type
11 12 13 Class java.io.IOException
Signature: (Ljava/io/File;JJLorg/glassfish/grizzly/CompletionHandler<Lorg/glassfish/grizzly/WriteResult;>;)V
MethodParameters:
Name Flags
file final
offset final
length final
handler final
public void write(byte[], int, int);
descriptor: ([BII)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
getfield org.glassfish.grizzly.http.io.OutputBuffer.connection:Lorg/glassfish/grizzly/Connection;
invokeinterface org.glassfish.grizzly.Connection.assertOpen:()V
1: aload 0
getfield org.glassfish.grizzly.http.io.OutputBuffer.closed:Z
ifne 2
iload 3
ifne 3
2: StackMap locals:
StackMap stack:
return
3: StackMap locals:
StackMap stack:
aload 0
invokevirtual org.glassfish.grizzly.http.io.OutputBuffer.updateNonBlockingStatus:()V
4: aload 0
invokevirtual org.glassfish.grizzly.http.io.OutputBuffer.writingChars:()Z
ifeq 6
5: aload 0
iconst_0
invokevirtual org.glassfish.grizzly.http.io.OutputBuffer.flushCharsToBuf:(Z)V
6: StackMap locals:
StackMap stack:
aload 0
getfield org.glassfish.grizzly.http.io.OutputBuffer.bufferSize:I
iload 3
if_icmplt 11
aload 0
getfield org.glassfish.grizzly.http.io.OutputBuffer.currentBuffer:Lorg/glassfish/grizzly/Buffer;
ifnull 7
aload 0
getfield org.glassfish.grizzly.http.io.OutputBuffer.currentBuffer:Lorg/glassfish/grizzly/Buffer;
invokeinterface org.glassfish.grizzly.Buffer.remaining:()I
iload 3
if_icmplt 11
7: StackMap locals:
StackMap stack:
aload 0
invokevirtual org.glassfish.grizzly.http.io.OutputBuffer.checkCurrentBuffer:()V
8: getstatic org.glassfish.grizzly.http.io.OutputBuffer.$assertionsDisabled:Z
ifne 9
aload 0
getfield org.glassfish.grizzly.http.io.OutputBuffer.currentBuffer:Lorg/glassfish/grizzly/Buffer;
ifnonnull 9
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
9: StackMap locals:
StackMap stack:
aload 0
getfield org.glassfish.grizzly.http.io.OutputBuffer.currentBuffer:Lorg/glassfish/grizzly/Buffer;
aload 1
iload 2
iload 3
invokeinterface org.glassfish.grizzly.Buffer.put:([BII)Lorg/glassfish/grizzly/Buffer;
pop
10: goto 29
StackMap locals:
StackMap stack:
11: aload 0
invokevirtual org.glassfish.grizzly.http.io.OutputBuffer.canWritePayloadChunk:()Z
ifeq 23
12: aload 0
getfield org.glassfish.grizzly.http.io.OutputBuffer.temporaryWriteBuffer:Lorg/glassfish/grizzly/http/io/TemporaryHeapBuffer;
aload 1
iload 2
iload 3
invokevirtual org.glassfish.grizzly.http.io.TemporaryHeapBuffer.reset:([BII)V
13: aload 0
invokevirtual org.glassfish.grizzly.http.io.OutputBuffer.finishCurrentBuffer:()V
14: aload 0
invokevirtual org.glassfish.grizzly.http.io.OutputBuffer.doCommit:()Z
pop
15: aload 0
getfield org.glassfish.grizzly.http.io.OutputBuffer.compositeBuffer:Lorg/glassfish/grizzly/memory/CompositeBuffer;
ifnull 20
16: aload 0
getfield org.glassfish.grizzly.http.io.OutputBuffer.compositeBuffer:Lorg/glassfish/grizzly/memory/CompositeBuffer;
aload 0
getfield org.glassfish.grizzly.http.io.OutputBuffer.temporaryWriteBuffer:Lorg/glassfish/grizzly/http/io/TemporaryHeapBuffer;
invokevirtual org.glassfish.grizzly.memory.CompositeBuffer.append:(Lorg/glassfish/grizzly/Buffer;)Lorg/glassfish/grizzly/memory/CompositeBuffer;
pop
17: aload 0
aload 0
getfield org.glassfish.grizzly.http.io.OutputBuffer.compositeBuffer:Lorg/glassfish/grizzly/memory/CompositeBuffer;
iconst_0
aload 0
getfield org.glassfish.grizzly.http.io.OutputBuffer.cloner:Lorg/glassfish/grizzly/http/io/OutputBuffer$ByteArrayCloner;
invokevirtual org.glassfish.grizzly.http.io.OutputBuffer.flushBuffer:(Lorg/glassfish/grizzly/Buffer;ZLorg/glassfish/grizzly/asyncqueue/MessageCloner;)V
18: aload 0
aconst_null
putfield org.glassfish.grizzly.http.io.OutputBuffer.compositeBuffer:Lorg/glassfish/grizzly/memory/CompositeBuffer;
19: goto 21
20: StackMap locals:
StackMap stack:
aload 0
aload 0
getfield org.glassfish.grizzly.http.io.OutputBuffer.temporaryWriteBuffer:Lorg/glassfish/grizzly/http/io/TemporaryHeapBuffer;
iconst_0
aload 0
getfield org.glassfish.grizzly.http.io.OutputBuffer.cloner:Lorg/glassfish/grizzly/http/io/OutputBuffer$ByteArrayCloner;
invokevirtual org.glassfish.grizzly.http.io.OutputBuffer.flushBuffer:(Lorg/glassfish/grizzly/Buffer;ZLorg/glassfish/grizzly/asyncqueue/MessageCloner;)V
21: StackMap locals:
StackMap stack:
aload 0
invokevirtual org.glassfish.grizzly.http.io.OutputBuffer.blockAfterWriteIfNeeded:()V
22: goto 29
23: StackMap locals:
StackMap stack:
aload 0
invokevirtual org.glassfish.grizzly.http.io.OutputBuffer.finishCurrentBuffer:()V
24: aload 0
getfield org.glassfish.grizzly.http.io.OutputBuffer.memoryManager:Lorg/glassfish/grizzly/memory/MemoryManager;
iload 3
invokeinterface org.glassfish.grizzly.memory.MemoryManager.allocate:(I)Lorg/glassfish/grizzly/Buffer;
astore 4
start local 4 25: aload 4
aload 1
iload 2
iload 3
invokeinterface org.glassfish.grizzly.Buffer.put:([BII)Lorg/glassfish/grizzly/Buffer;
pop
26: aload 4
invokeinterface org.glassfish.grizzly.Buffer.flip:()Lorg/glassfish/grizzly/Buffer;
pop
27: aload 0
invokevirtual org.glassfish.grizzly.http.io.OutputBuffer.checkCompositeBuffer:()V
28: aload 0
getfield org.glassfish.grizzly.http.io.OutputBuffer.compositeBuffer:Lorg/glassfish/grizzly/memory/CompositeBuffer;
aload 4
invokevirtual org.glassfish.grizzly.memory.CompositeBuffer.append:(Lorg/glassfish/grizzly/Buffer;)Lorg/glassfish/grizzly/memory/CompositeBuffer;
pop
end local 4 29: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 30 0 this Lorg/glassfish/grizzly/http/io/OutputBuffer;
0 30 1 b [B
0 30 2 off I
0 30 3 len I
25 29 4 cloneBuffer Lorg/glassfish/grizzly/Buffer;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
b final
off final
len final
public void close();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
getfield org.glassfish.grizzly.http.io.OutputBuffer.closed:Z
ifeq 2
1: return
2: StackMap locals:
StackMap stack:
aload 0
iconst_1
putfield org.glassfish.grizzly.http.io.OutputBuffer.closed:Z
3: aload 0
getfield org.glassfish.grizzly.http.io.OutputBuffer.connection:Lorg/glassfish/grizzly/Connection;
invokeinterface org.glassfish.grizzly.Connection.assertOpen:()V
4: aload 0
invokevirtual org.glassfish.grizzly.http.io.OutputBuffer.doCommit:()Z
istore 1
start local 1 5: aload 0
iconst_1
invokevirtual org.glassfish.grizzly.http.io.OutputBuffer.flushAllBuffers:(Z)Z
ifne 7
iload 1
ifne 6
aload 0
getfield org.glassfish.grizzly.http.io.OutputBuffer.outputHeader:Lorg/glassfish/grizzly/http/HttpHeader;
invokevirtual org.glassfish.grizzly.http.HttpHeader.isChunked:()Z
ifeq 7
6: StackMap locals: int
StackMap stack:
aload 0
iconst_1
invokevirtual org.glassfish.grizzly.http.io.OutputBuffer.forceCommitHeaders:(Z)V
7: StackMap locals:
StackMap stack:
aload 0
invokevirtual org.glassfish.grizzly.http.io.OutputBuffer.blockAfterWriteIfNeeded:()V
8: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lorg/glassfish/grizzly/http/io/OutputBuffer;
5 9 1 isJustCommitted Z
Exceptions:
throws java.io.IOException
public void flush();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
getfield org.glassfish.grizzly.http.io.OutputBuffer.connection:Lorg/glassfish/grizzly/Connection;
invokeinterface org.glassfish.grizzly.Connection.assertOpen:()V
1: aload 0
invokevirtual org.glassfish.grizzly.http.io.OutputBuffer.doCommit:()Z
istore 1
start local 1 2: aload 0
iconst_0
invokevirtual org.glassfish.grizzly.http.io.OutputBuffer.flushAllBuffers:(Z)Z
ifne 4
iload 1
ifeq 4
3: aload 0
iconst_0
invokevirtual org.glassfish.grizzly.http.io.OutputBuffer.forceCommitHeaders:(Z)V
4: StackMap locals: int
StackMap stack:
aload 0
invokevirtual org.glassfish.grizzly.http.io.OutputBuffer.blockAfterWriteIfNeeded:()V
5: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lorg/glassfish/grizzly/http/io/OutputBuffer;
2 6 1 isJustCommitted Z
Exceptions:
throws java.io.IOException
public void writeByteBuffer(java.nio.ByteBuffer);
descriptor: (Ljava/nio/ByteBuffer;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield org.glassfish.grizzly.http.io.OutputBuffer.memoryManager:Lorg/glassfish/grizzly/memory/MemoryManager;
aload 1
invokestatic org.glassfish.grizzly.memory.Buffers.wrap:(Lorg/glassfish/grizzly/memory/MemoryManager;Ljava/nio/ByteBuffer;)Lorg/glassfish/grizzly/Buffer;
astore 2
start local 2 1: aload 2
iconst_0
invokeinterface org.glassfish.grizzly.Buffer.allowBufferDispose:(Z)V
2: aload 0
aload 2
invokevirtual org.glassfish.grizzly.http.io.OutputBuffer.writeBuffer:(Lorg/glassfish/grizzly/Buffer;)V
3: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/glassfish/grizzly/http/io/OutputBuffer;
0 4 1 byteBuffer Ljava/nio/ByteBuffer;
1 4 2 w Lorg/glassfish/grizzly/Buffer;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
byteBuffer final
public void writeBuffer(org.glassfish.grizzly.Buffer);
descriptor: (Lorg/glassfish/grizzly/Buffer;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield org.glassfish.grizzly.http.io.OutputBuffer.connection:Lorg/glassfish/grizzly/Connection;
invokeinterface org.glassfish.grizzly.Connection.assertOpen:()V
1: aload 0
invokevirtual org.glassfish.grizzly.http.io.OutputBuffer.updateNonBlockingStatus:()V
2: aload 0
invokevirtual org.glassfish.grizzly.http.io.OutputBuffer.finishCurrentBuffer:()V
3: aload 0
invokevirtual org.glassfish.grizzly.http.io.OutputBuffer.checkCompositeBuffer:()V
4: aload 0
getfield org.glassfish.grizzly.http.io.OutputBuffer.compositeBuffer:Lorg/glassfish/grizzly/memory/CompositeBuffer;
aload 1
invokevirtual org.glassfish.grizzly.memory.CompositeBuffer.append:(Lorg/glassfish/grizzly/Buffer;)Lorg/glassfish/grizzly/memory/CompositeBuffer;
pop
5: aload 0
invokevirtual org.glassfish.grizzly.http.io.OutputBuffer.canWritePayloadChunk:()Z
ifeq 7
aload 0
getfield org.glassfish.grizzly.http.io.OutputBuffer.compositeBuffer:Lorg/glassfish/grizzly/memory/CompositeBuffer;
invokevirtual org.glassfish.grizzly.memory.CompositeBuffer.remaining:()I
aload 0
getfield org.glassfish.grizzly.http.io.OutputBuffer.bufferSize:I
if_icmple 7
6: aload 0
invokevirtual org.glassfish.grizzly.http.io.OutputBuffer.flush:()V
7: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lorg/glassfish/grizzly/http/io/OutputBuffer;
0 8 1 buffer Lorg/glassfish/grizzly/Buffer;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
buffer final
public boolean canWriteChar(int);
descriptor: (I)Z
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.io.OutputBuffer.canWrite:()Z
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/glassfish/grizzly/http/io/OutputBuffer;
0 1 1 length I
RuntimeVisibleAnnotations:
java.lang.Deprecated()
MethodParameters:
Name Flags
length final
public boolean canWrite(int);
descriptor: (I)Z
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.io.OutputBuffer.canWrite:()Z
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/glassfish/grizzly/http/io/OutputBuffer;
0 1 1 length I
RuntimeVisibleAnnotations:
java.lang.Deprecated()
MethodParameters:
Name Flags
length final
public boolean canWrite();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: getstatic org.glassfish.grizzly.http.io.OutputBuffer.IS_BLOCKING:Z
ifne 1
aload 0
getfield org.glassfish.grizzly.http.io.OutputBuffer.isNonBlockingWriteGuaranteed:Z
ifeq 2
1: StackMap locals:
StackMap stack:
iconst_1
ireturn
2: StackMap locals:
StackMap stack:
aload 0
getfield org.glassfish.grizzly.http.io.OutputBuffer.httpContext:Lorg/glassfish/grizzly/http/HttpContext;
invokevirtual org.glassfish.grizzly.http.HttpContext.getOutputSink:()Lorg/glassfish/grizzly/OutputSink;
invokeinterface org.glassfish.grizzly.OutputSink.canWrite:()Z
ifeq 5
3: aload 0
iconst_1
putfield org.glassfish.grizzly.http.io.OutputBuffer.isNonBlockingWriteGuaranteed:Z
4: iconst_1
ireturn
5: StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lorg/glassfish/grizzly/http/io/OutputBuffer;
public void notifyCanWrite(org.glassfish.grizzly.WriteHandler, int);
descriptor: (Lorg/glassfish/grizzly/WriteHandler;I)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
invokevirtual org.glassfish.grizzly.http.io.OutputBuffer.notifyCanWrite:(Lorg/glassfish/grizzly/WriteHandler;)V
1: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/glassfish/grizzly/http/io/OutputBuffer;
0 2 1 handler Lorg/glassfish/grizzly/WriteHandler;
0 2 2 length I
RuntimeVisibleAnnotations:
java.lang.Deprecated()
MethodParameters:
Name Flags
handler final
length final
public void notifyCanWrite(org.glassfish.grizzly.WriteHandler);
descriptor: (Lorg/glassfish/grizzly/WriteHandler;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield org.glassfish.grizzly.http.io.OutputBuffer.handler:Lorg/glassfish/grizzly/WriteHandler;
ifnull 2
1: new java.lang.IllegalStateException
dup
ldc "Illegal attempt to set a new handler before the existing handler has been notified."
invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
aload 1
ifnull 10
aload 0
getfield org.glassfish.grizzly.http.io.OutputBuffer.httpContext:Lorg/glassfish/grizzly/http/HttpContext;
invokevirtual org.glassfish.grizzly.http.HttpContext.getCloseable:()Lorg/glassfish/grizzly/Closeable;
invokeinterface org.glassfish.grizzly.Closeable.isOpen:()Z
ifne 10
3: aload 0
getfield org.glassfish.grizzly.http.io.OutputBuffer.connection:Lorg/glassfish/grizzly/Connection;
invokeinterface org.glassfish.grizzly.Connection.getCloseReason:()Lorg/glassfish/grizzly/CloseReason;
astore 2
start local 2 4: aload 2
ifnonnull 8
5: getstatic org.glassfish.grizzly.http.io.OutputBuffer.LOGGER:Ljava/util/logging/Logger;
getstatic java.util.logging.Level.WARNING:Ljava/util/logging/Level;
ldc "No close reason set, using default: {0}"
getstatic org.glassfish.grizzly.CloseReason.LOCALLY_CLOSED_REASON:Lorg/glassfish/grizzly/CloseReason;
invokevirtual java.util.logging.Logger.log:(Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/Object;)V
6: aload 1
getstatic org.glassfish.grizzly.CloseReason.LOCALLY_CLOSED_REASON:Lorg/glassfish/grizzly/CloseReason;
invokevirtual org.glassfish.grizzly.CloseReason.getCause:()Ljava/io/IOException;
invokeinterface org.glassfish.grizzly.WriteHandler.onError:(Ljava/lang/Throwable;)V
7: goto 9
8: StackMap locals: org.glassfish.grizzly.CloseReason
StackMap stack:
aload 1
aload 2
invokevirtual org.glassfish.grizzly.CloseReason.getCause:()Ljava/io/IOException;
invokeinterface org.glassfish.grizzly.WriteHandler.onError:(Ljava/lang/Throwable;)V
9: StackMap locals:
StackMap stack:
return
end local 2 10: StackMap locals:
StackMap stack:
aload 0
aload 1
putfield org.glassfish.grizzly.http.io.OutputBuffer.handler:Lorg/glassfish/grizzly/WriteHandler;
11: aload 0
getfield org.glassfish.grizzly.http.io.OutputBuffer.isNonBlockingWriteGuaranteed:Z
ifne 12
aload 0
invokevirtual org.glassfish.grizzly.http.io.OutputBuffer.canWrite:()Z
ifeq 18
12: StackMap locals:
StackMap stack:
invokestatic org.glassfish.grizzly.Writer$Reentrant.getWriteReentrant:()Lorg/glassfish/grizzly/Writer$Reentrant;
astore 2
start local 2 13: aload 2
invokevirtual org.glassfish.grizzly.Writer$Reentrant.isMaxReentrantsReached:()Z
ifeq 16
14: aload 0
invokevirtual org.glassfish.grizzly.http.io.OutputBuffer.notifyWritePossibleAsync:()V
15: goto 17
16: StackMap locals: org.glassfish.grizzly.Writer$Reentrant
StackMap stack:
aload 0
invokevirtual org.glassfish.grizzly.http.io.OutputBuffer.notifyWritePossible:()V
17: StackMap locals:
StackMap stack:
return
end local 2 18: StackMap locals:
StackMap stack:
getstatic org.glassfish.grizzly.http.io.OutputBuffer.$assertionsDisabled:Z
ifne 19
getstatic org.glassfish.grizzly.http.io.OutputBuffer.IS_BLOCKING:Z
ifeq 19
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
19: StackMap locals:
StackMap stack:
aload 0
getfield org.glassfish.grizzly.http.io.OutputBuffer.asyncWriteHandler:Lorg/glassfish/grizzly/http/io/OutputBuffer$InternalWriteHandler;
ifnonnull 21
20: aload 0
new org.glassfish.grizzly.http.io.OutputBuffer$InternalWriteHandler
dup
aload 0
invokespecial org.glassfish.grizzly.http.io.OutputBuffer$InternalWriteHandler.<init>:(Lorg/glassfish/grizzly/http/io/OutputBuffer;)V
putfield org.glassfish.grizzly.http.io.OutputBuffer.asyncWriteHandler:Lorg/glassfish/grizzly/http/io/OutputBuffer$InternalWriteHandler;
21: StackMap locals:
StackMap stack:
aload 0
getfield org.glassfish.grizzly.http.io.OutputBuffer.httpContext:Lorg/glassfish/grizzly/http/HttpContext;
invokevirtual org.glassfish.grizzly.http.HttpContext.getOutputSink:()Lorg/glassfish/grizzly/OutputSink;
aload 0
getfield org.glassfish.grizzly.http.io.OutputBuffer.asyncWriteHandler:Lorg/glassfish/grizzly/http/io/OutputBuffer$InternalWriteHandler;
invokeinterface org.glassfish.grizzly.OutputSink.notifyCanWrite:(Lorg/glassfish/grizzly/WriteHandler;)V
22: goto 25
StackMap locals:
StackMap stack: java.lang.Exception
23: astore 2
start local 2 24: getstatic org.glassfish.grizzly.http.io.OutputBuffer.LOGGER:Ljava/util/logging/Logger;
getstatic java.util.logging.Level.FINE:Ljava/util/logging/Level;
ldc "Ignoring exception."
aload 2
invokevirtual java.util.logging.Logger.log:(Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/Throwable;)V
end local 2 25: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 26 0 this Lorg/glassfish/grizzly/http/io/OutputBuffer;
0 26 1 handler Lorg/glassfish/grizzly/WriteHandler;
4 10 2 closeReason Lorg/glassfish/grizzly/CloseReason;
13 18 2 reentrant Lorg/glassfish/grizzly/Writer$Reentrant;
24 25 2 ignored Ljava/lang/Exception;
Exception table:
from to target type
21 22 23 Class java.lang.Exception
MethodParameters:
Name Flags
handler final
public void setTrailers(java.util.function.Supplier<java.util.Map<java.lang.String, java.lang.String>>);
descriptor: (Ljava/util/function/Supplier;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
putfield org.glassfish.grizzly.http.io.OutputBuffer.trailersSupplier:Ljava/util/function/Supplier;
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/glassfish/grizzly/http/io/OutputBuffer;
0 2 1 trailersSupplier Ljava/util/function/Supplier<Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;>;
Signature: (Ljava/util/function/Supplier<Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;>;)V
MethodParameters:
Name Flags
trailersSupplier
public java.util.function.Supplier<java.util.Map<java.lang.String, java.lang.String>> getTrailers();
descriptor: ()Ljava/util/function/Supplier;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.glassfish.grizzly.http.io.OutputBuffer.trailersSupplier:Ljava/util/function/Supplier;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/glassfish/grizzly/http/io/OutputBuffer;
Signature: ()Ljava/util/function/Supplier<Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;>;
protected java.util.concurrent.Executor getThreadPool();
descriptor: ()Ljava/util/concurrent/Executor;
flags: (0x0004) ACC_PROTECTED
Code:
stack=1, locals=2, args_size=1
start local 0 0: invokestatic org.glassfish.grizzly.threadpool.Threads.isService:()Z
ifne 2
1: aconst_null
areturn
2: StackMap locals:
StackMap stack:
aload 0
getfield org.glassfish.grizzly.http.io.OutputBuffer.connection:Lorg/glassfish/grizzly/Connection;
invokeinterface org.glassfish.grizzly.Connection.getTransport:()Lorg/glassfish/grizzly/Transport;
invokeinterface org.glassfish.grizzly.Transport.getWorkerThreadPool:()Ljava/util/concurrent/ExecutorService;
astore 1
start local 1 3: aload 1
ifnull 4
aload 1
invokeinterface java.util.concurrent.ExecutorService.isShutdown:()Z
ifne 4
aload 1
goto 5
StackMap locals: java.util.concurrent.ExecutorService
StackMap stack:
4: aconst_null
StackMap locals:
StackMap stack: java.util.concurrent.ExecutorService
5: areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lorg/glassfish/grizzly/http/io/OutputBuffer;
3 6 1 es Ljava/util/concurrent/ExecutorService;
private void notifyWritePossibleAsync();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=1, args_size=1
start local 0 0: aload 0
getfield org.glassfish.grizzly.http.io.OutputBuffer.writePossibleRunnable:Ljava/lang/Runnable;
ifnonnull 2
1: aload 0
new org.glassfish.grizzly.http.io.OutputBuffer$1
dup
aload 0
invokespecial org.glassfish.grizzly.http.io.OutputBuffer$1.<init>:(Lorg/glassfish/grizzly/http/io/OutputBuffer;)V
putfield org.glassfish.grizzly.http.io.OutputBuffer.writePossibleRunnable:Ljava/lang/Runnable;
2: StackMap locals:
StackMap stack:
aload 0
getfield org.glassfish.grizzly.http.io.OutputBuffer.connection:Lorg/glassfish/grizzly/Connection;
getstatic org.glassfish.grizzly.IOEvent.WRITE:Lorg/glassfish/grizzly/IOEvent;
aload 0
getfield org.glassfish.grizzly.http.io.OutputBuffer.writePossibleRunnable:Ljava/lang/Runnable;
invokeinterface org.glassfish.grizzly.Connection.executeInEventThread:(Lorg/glassfish/grizzly/IOEvent;Ljava/lang/Runnable;)V
3: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/glassfish/grizzly/http/io/OutputBuffer;
private void notifyWritePossible();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=5, args_size=1
start local 0 0: aload 0
getfield org.glassfish.grizzly.http.io.OutputBuffer.handler:Lorg/glassfish/grizzly/WriteHandler;
astore 1
start local 1 1: aload 1
ifnull 15
2: invokestatic org.glassfish.grizzly.Writer$Reentrant.getWriteReentrant:()Lorg/glassfish/grizzly/Writer$Reentrant;
astore 2
start local 2 3: aload 0
aconst_null
putfield org.glassfish.grizzly.http.io.OutputBuffer.handler:Lorg/glassfish/grizzly/WriteHandler;
4: aload 2
invokevirtual org.glassfish.grizzly.Writer$Reentrant.inc:()Z
pop
5: aload 0
iconst_1
putfield org.glassfish.grizzly.http.io.OutputBuffer.isNonBlockingWriteGuaranteed:Z
6: aload 1
invokeinterface org.glassfish.grizzly.WriteHandler.onWritePossible:()V
7: goto 14
StackMap locals: org.glassfish.grizzly.http.io.OutputBuffer org.glassfish.grizzly.WriteHandler org.glassfish.grizzly.Writer$Reentrant
StackMap stack: java.lang.Throwable
8: astore 3
start local 3 9: aload 1
aload 3
invokeinterface org.glassfish.grizzly.WriteHandler.onError:(Ljava/lang/Throwable;)V
end local 3 10: aload 2
invokevirtual org.glassfish.grizzly.Writer$Reentrant.dec:()Z
pop
goto 15
11: StackMap locals:
StackMap stack: java.lang.Throwable
astore 4
12: aload 2
invokevirtual org.glassfish.grizzly.Writer$Reentrant.dec:()Z
pop
13: aload 4
athrow
14: StackMap locals:
StackMap stack:
aload 2
invokevirtual org.glassfish.grizzly.Writer$Reentrant.dec:()Z
pop
end local 2 15: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 16 0 this Lorg/glassfish/grizzly/http/io/OutputBuffer;
1 16 1 localHandler Lorg/glassfish/grizzly/WriteHandler;
3 15 2 reentrant Lorg/glassfish/grizzly/Writer$Reentrant;
9 10 3 t Ljava/lang/Throwable;
Exception table:
from to target type
3 7 8 Class java.lang.Throwable
3 10 11 any
private boolean canWritePayloadChunk();
descriptor: ()Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=1, args_size=1
start local 0 0: aload 0
getfield org.glassfish.grizzly.http.io.OutputBuffer.outputHeader:Lorg/glassfish/grizzly/http/HttpHeader;
invokevirtual org.glassfish.grizzly.http.HttpHeader.isChunkingAllowed:()Z
ifne 1
aload 0
getfield org.glassfish.grizzly.http.io.OutputBuffer.outputHeader:Lorg/glassfish/grizzly/http/HttpHeader;
invokevirtual org.glassfish.grizzly.http.HttpHeader.getContentLength:()J
ldc -1
lcmp
ifne 1
iconst_0
ireturn
StackMap locals:
StackMap stack:
1: iconst_1
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/glassfish/grizzly/http/io/OutputBuffer;
private void blockAfterWriteIfNeeded();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=4, args_size=1
start local 0 0: getstatic org.glassfish.grizzly.http.io.OutputBuffer.IS_BLOCKING:Z
ifne 1
aload 0
getfield org.glassfish.grizzly.http.io.OutputBuffer.isNonBlockingWriteGuaranteed:Z
ifne 1
aload 0
getfield org.glassfish.grizzly.http.io.OutputBuffer.isLastWriteNonBlocking:Z
ifeq 2
1: StackMap locals:
StackMap stack:
return
2: StackMap locals:
StackMap stack:
aload 0
getfield org.glassfish.grizzly.http.io.OutputBuffer.httpContext:Lorg/glassfish/grizzly/http/HttpContext;
invokevirtual org.glassfish.grizzly.http.HttpContext.getOutputSink:()Lorg/glassfish/grizzly/OutputSink;
invokeinterface org.glassfish.grizzly.OutputSink.canWrite:()Z
ifeq 4
3: return
4: StackMap locals:
StackMap stack:
invokestatic org.glassfish.grizzly.utils.Futures.createSafeFuture:()Lorg/glassfish/grizzly/impl/FutureImpl;
astore 1
start local 1 5: aload 0
getfield org.glassfish.grizzly.http.io.OutputBuffer.httpContext:Lorg/glassfish/grizzly/http/HttpContext;
invokevirtual org.glassfish.grizzly.http.HttpContext.getOutputSink:()Lorg/glassfish/grizzly/OutputSink;
new org.glassfish.grizzly.http.io.OutputBuffer$2
dup
aload 0
aload 1
invokespecial org.glassfish.grizzly.http.io.OutputBuffer$2.<init>:(Lorg/glassfish/grizzly/http/io/OutputBuffer;Lorg/glassfish/grizzly/impl/FutureImpl;)V
invokeinterface org.glassfish.grizzly.OutputSink.notifyCanWrite:(Lorg/glassfish/grizzly/WriteHandler;)V
6: aload 0
getfield org.glassfish.grizzly.http.io.OutputBuffer.connection:Lorg/glassfish/grizzly/Connection;
getstatic java.util.concurrent.TimeUnit.MILLISECONDS:Ljava/util/concurrent/TimeUnit;
invokeinterface org.glassfish.grizzly.Connection.getWriteTimeout:(Ljava/util/concurrent/TimeUnit;)J
lstore 2
start local 2 7: lload 2
lconst_0
lcmp
iflt 10
8: aload 1
lload 2
getstatic java.util.concurrent.TimeUnit.MILLISECONDS:Ljava/util/concurrent/TimeUnit;
invokeinterface org.glassfish.grizzly.impl.FutureImpl.get:(JLjava/util/concurrent/TimeUnit;)Ljava/lang/Object;
pop
9: goto 21
10: StackMap locals: org.glassfish.grizzly.impl.FutureImpl long
StackMap stack:
aload 1
invokeinterface org.glassfish.grizzly.impl.FutureImpl.get:()Ljava/lang/Object;
pop
end local 2 11: goto 21
StackMap locals: org.glassfish.grizzly.http.io.OutputBuffer org.glassfish.grizzly.impl.FutureImpl
StackMap stack: java.util.concurrent.ExecutionException
12: astore 2
start local 2 13: aload 0
getfield org.glassfish.grizzly.http.io.OutputBuffer.httpContext:Lorg/glassfish/grizzly/http/HttpContext;
invokevirtual org.glassfish.grizzly.http.HttpContext.close:()V
14: aload 2
invokevirtual java.util.concurrent.ExecutionException.getCause:()Ljava/lang/Throwable;
invokestatic org.glassfish.grizzly.utils.Exceptions.makeIOException:(Ljava/lang/Throwable;)Ljava/io/IOException;
athrow
end local 2 15: StackMap locals:
StackMap stack: java.util.concurrent.TimeoutException
pop
16: aload 0
getfield org.glassfish.grizzly.http.io.OutputBuffer.httpContext:Lorg/glassfish/grizzly/http/HttpContext;
invokevirtual org.glassfish.grizzly.http.HttpContext.close:()V
17: new java.io.IOException
dup
ldc "Write timeout exceeded when trying to flush the data"
invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
18: StackMap locals:
StackMap stack: java.lang.Exception
astore 2
start local 2 19: aload 0
getfield org.glassfish.grizzly.http.io.OutputBuffer.httpContext:Lorg/glassfish/grizzly/http/HttpContext;
invokevirtual org.glassfish.grizzly.http.HttpContext.close:()V
20: aload 2
invokestatic org.glassfish.grizzly.utils.Exceptions.makeIOException:(Ljava/lang/Throwable;)Ljava/io/IOException;
athrow
end local 2 21: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 22 0 this Lorg/glassfish/grizzly/http/io/OutputBuffer;
5 22 1 future Lorg/glassfish/grizzly/impl/FutureImpl<Ljava/lang/Boolean;>;
7 11 2 writeTimeout J
13 15 2 e Ljava/util/concurrent/ExecutionException;
19 21 2 e Ljava/lang/Exception;
Exception table:
from to target type
6 11 12 Class java.util.concurrent.ExecutionException
6 11 15 Class java.util.concurrent.TimeoutException
6 11 18 Class java.lang.Exception
Exceptions:
throws java.io.IOException
private boolean flushAllBuffers(boolean);
descriptor: (Z)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield org.glassfish.grizzly.http.io.OutputBuffer.charsArrayLength:I
ifle 2
1: aload 0
iconst_0
invokevirtual org.glassfish.grizzly.http.io.OutputBuffer.flushCharsToBuf:(Z)V
2: StackMap locals:
StackMap stack:
aload 0
iload 1
invokevirtual org.glassfish.grizzly.http.io.OutputBuffer.flushBinaryBuffers:(Z)Z
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/glassfish/grizzly/http/io/OutputBuffer;
0 3 1 isLast Z
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
isLast final
private boolean flushBinaryBuffers(boolean);
descriptor: (Z)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=4, args_size=2
start local 0 start local 1 0: aload 0
getfield org.glassfish.grizzly.http.io.OutputBuffer.outputHeader:Lorg/glassfish/grizzly/http/HttpHeader;
invokevirtual org.glassfish.grizzly.http.HttpHeader.isChunkingAllowed:()Z
ifne 4
aload 0
getfield org.glassfish.grizzly.http.io.OutputBuffer.outputHeader:Lorg/glassfish/grizzly/http/HttpHeader;
invokevirtual org.glassfish.grizzly.http.HttpHeader.getContentLength:()J
ldc -1
lcmp
ifne 4
1: iload 1
ifne 3
2: iconst_0
ireturn
3: StackMap locals:
StackMap stack:
aload 0
getfield org.glassfish.grizzly.http.io.OutputBuffer.outputHeader:Lorg/glassfish/grizzly/http/HttpHeader;
aload 0
invokevirtual org.glassfish.grizzly.http.io.OutputBuffer.getBufferedDataSize:()I
invokevirtual org.glassfish.grizzly.http.HttpHeader.setContentLength:(I)V
4: StackMap locals:
StackMap stack:
aload 0
getfield org.glassfish.grizzly.http.io.OutputBuffer.compositeBuffer:Lorg/glassfish/grizzly/memory/CompositeBuffer;
ifnull 5
aload 0
getfield org.glassfish.grizzly.http.io.OutputBuffer.compositeBuffer:Lorg/glassfish/grizzly/memory/CompositeBuffer;
invokevirtual org.glassfish.grizzly.memory.CompositeBuffer.hasRemaining:()Z
ifeq 5
iconst_1
goto 6
StackMap locals:
StackMap stack:
5: iconst_0
StackMap locals:
StackMap stack: int
6: istore 3
start local 3 7: iload 3
ifeq 12
8: aload 0
invokevirtual org.glassfish.grizzly.http.io.OutputBuffer.finishCurrentBuffer:()V
9: aload 0
getfield org.glassfish.grizzly.http.io.OutputBuffer.compositeBuffer:Lorg/glassfish/grizzly/memory/CompositeBuffer;
astore 2
start local 2 10: aload 0
aconst_null
putfield org.glassfish.grizzly.http.io.OutputBuffer.compositeBuffer:Lorg/glassfish/grizzly/memory/CompositeBuffer;
11: goto 18
end local 2 StackMap locals: org.glassfish.grizzly.http.io.OutputBuffer int top int
StackMap stack:
12: aload 0
getfield org.glassfish.grizzly.http.io.OutputBuffer.currentBuffer:Lorg/glassfish/grizzly/Buffer;
ifnull 17
aload 0
getfield org.glassfish.grizzly.http.io.OutputBuffer.currentBuffer:Lorg/glassfish/grizzly/Buffer;
invokeinterface org.glassfish.grizzly.Buffer.position:()I
ifle 17
13: aload 0
getfield org.glassfish.grizzly.http.io.OutputBuffer.currentBuffer:Lorg/glassfish/grizzly/Buffer;
invokeinterface org.glassfish.grizzly.Buffer.trim:()V
14: aload 0
getfield org.glassfish.grizzly.http.io.OutputBuffer.currentBuffer:Lorg/glassfish/grizzly/Buffer;
astore 2
start local 2 15: aload 0
aconst_null
putfield org.glassfish.grizzly.http.io.OutputBuffer.currentBuffer:Lorg/glassfish/grizzly/Buffer;
16: goto 18
end local 2 17: StackMap locals:
StackMap stack:
aconst_null
astore 2
start local 2 18: StackMap locals: org.glassfish.grizzly.http.io.OutputBuffer int org.glassfish.grizzly.Buffer int
StackMap stack:
aload 2
ifnonnull 19
iload 1
ifeq 22
19: StackMap locals:
StackMap stack:
aload 0
invokevirtual org.glassfish.grizzly.http.io.OutputBuffer.doCommit:()Z
pop
20: aload 0
aload 2
iload 1
aconst_null
invokevirtual org.glassfish.grizzly.http.io.OutputBuffer.flushBuffer:(Lorg/glassfish/grizzly/Buffer;ZLorg/glassfish/grizzly/asyncqueue/MessageCloner;)V
21: iconst_1
ireturn
22: StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 23 0 this Lorg/glassfish/grizzly/http/io/OutputBuffer;
0 23 1 isLast Z
10 12 2 bufferToFlush Lorg/glassfish/grizzly/Buffer;
15 17 2 bufferToFlush Lorg/glassfish/grizzly/Buffer;
18 23 2 bufferToFlush Lorg/glassfish/grizzly/Buffer;
7 23 3 isFlushComposite Z
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
isLast final
private void flushBuffer(org.glassfish.grizzly.Buffer, boolean, org.glassfish.grizzly.asyncqueue.MessageCloner<org.glassfish.grizzly.Buffer>);
descriptor: (Lorg/glassfish/grizzly/Buffer;ZLorg/glassfish/grizzly/asyncqueue/MessageCloner;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=9, args_size=4
start local 0 start local 1 start local 2 start local 3 0: iload 2
ifeq 11
aload 0
getfield org.glassfish.grizzly.http.io.OutputBuffer.trailersSupplier:Ljava/util/function/Supplier;
ifnull 11
aload 0
getfield org.glassfish.grizzly.http.io.OutputBuffer.outputHeader:Lorg/glassfish/grizzly/http/HttpHeader;
invokevirtual org.glassfish.grizzly.http.HttpHeader.isChunked:()Z
ifne 1
aload 0
getfield org.glassfish.grizzly.http.io.OutputBuffer.outputHeader:Lorg/glassfish/grizzly/http/HttpHeader;
invokevirtual org.glassfish.grizzly.http.HttpHeader.getProtocol:()Lorg/glassfish/grizzly/http/Protocol;
getstatic org.glassfish.grizzly.http.Protocol.HTTP_2_0:Lorg/glassfish/grizzly/http/Protocol;
invokevirtual org.glassfish.grizzly.http.Protocol.equals:(Ljava/lang/Object;)Z
ifeq 11
1: StackMap locals:
StackMap stack:
aload 0
iconst_0
invokevirtual org.glassfish.grizzly.http.io.OutputBuffer.forceCommitHeaders:(Z)V
2: aload 0
getfield org.glassfish.grizzly.http.io.OutputBuffer.outputHeader:Lorg/glassfish/grizzly/http/HttpHeader;
invokevirtual org.glassfish.grizzly.http.HttpHeader.httpTrailerBuilder:()Lorg/glassfish/grizzly/http/HttpTrailer$Builder;
aload 1
invokevirtual org.glassfish.grizzly.http.HttpTrailer$Builder.content:(Lorg/glassfish/grizzly/Buffer;)Lorg/glassfish/grizzly/http/HttpContent$Builder;
checkcast org.glassfish.grizzly.http.HttpTrailer$Builder
iconst_1
invokevirtual org.glassfish.grizzly.http.HttpTrailer$Builder.last:(Z)Lorg/glassfish/grizzly/http/HttpContent$Builder;
checkcast org.glassfish.grizzly.http.HttpTrailer$Builder
astore 5
start local 5 3: aload 0
getfield org.glassfish.grizzly.http.io.OutputBuffer.trailersSupplier:Ljava/util/function/Supplier;
invokeinterface java.util.function.Supplier.get:()Ljava/lang/Object;
checkcast java.util.Map
astore 6
start local 6 4: aload 6
ifnull 9
aload 6
invokeinterface java.util.Map.isEmpty:()Z
ifne 9
5: aload 6
invokeinterface java.util.Map.entrySet:()Ljava/util/Set;
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 8
goto 8
StackMap locals: org.glassfish.grizzly.http.io.OutputBuffer org.glassfish.grizzly.Buffer int org.glassfish.grizzly.asyncqueue.MessageCloner top org.glassfish.grizzly.http.HttpTrailer$Builder java.util.Map top java.util.Iterator
StackMap stack:
6: aload 8
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.util.Map$Entry
astore 7
start local 7 7: aload 5
aload 7
invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
checkcast java.lang.String
aload 7
invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
checkcast java.lang.String
invokevirtual org.glassfish.grizzly.http.HttpTrailer$Builder.header:(Ljava/lang/String;Ljava/lang/String;)Lorg/glassfish/grizzly/http/HttpTrailer$Builder;
pop
end local 7 8: StackMap locals:
StackMap stack:
aload 8
invokeinterface java.util.Iterator.hasNext:()Z
ifne 6
9: StackMap locals: org.glassfish.grizzly.http.io.OutputBuffer org.glassfish.grizzly.Buffer int org.glassfish.grizzly.asyncqueue.MessageCloner top org.glassfish.grizzly.http.HttpTrailer$Builder java.util.Map
StackMap stack:
aload 5
invokevirtual org.glassfish.grizzly.http.HttpTrailer$Builder.build:()Lorg/glassfish/grizzly/http/HttpTrailer;
astore 4
end local 6 end local 5 start local 4 10: goto 12
end local 4 11: StackMap locals: org.glassfish.grizzly.http.io.OutputBuffer org.glassfish.grizzly.Buffer int org.glassfish.grizzly.asyncqueue.MessageCloner
StackMap stack:
aload 0
getfield org.glassfish.grizzly.http.io.OutputBuffer.builder:Lorg/glassfish/grizzly/http/HttpContent$Builder;
aload 1
invokevirtual org.glassfish.grizzly.http.HttpContent$Builder.content:(Lorg/glassfish/grizzly/Buffer;)Lorg/glassfish/grizzly/http/HttpContent$Builder;
iload 2
invokevirtual org.glassfish.grizzly.http.HttpContent$Builder.last:(Z)Lorg/glassfish/grizzly/http/HttpContent$Builder;
invokevirtual org.glassfish.grizzly.http.HttpContent$Builder.build:()Lorg/glassfish/grizzly/http/HttpContent;
astore 4
start local 4 12: StackMap locals: org.glassfish.grizzly.http.HttpContent
StackMap stack:
aload 0
getfield org.glassfish.grizzly.http.io.OutputBuffer.ctx:Lorg/glassfish/grizzly/filterchain/FilterChainContext;
aconst_null
aload 4
aconst_null
aload 3
getstatic org.glassfish.grizzly.http.io.OutputBuffer.IS_BLOCKING:Z
invokevirtual org.glassfish.grizzly.filterchain.FilterChainContext.write:(Ljava/lang/Object;Ljava/lang/Object;Lorg/glassfish/grizzly/CompletionHandler;Lorg/glassfish/grizzly/asyncqueue/MessageCloner;Z)V
13: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 this Lorg/glassfish/grizzly/http/io/OutputBuffer;
0 14 1 bufferToFlush Lorg/glassfish/grizzly/Buffer;
0 14 2 isLast Z
0 14 3 messageCloner Lorg/glassfish/grizzly/asyncqueue/MessageCloner<Lorg/glassfish/grizzly/Buffer;>;
10 11 4 content Lorg/glassfish/grizzly/http/HttpContent;
12 14 4 content Lorg/glassfish/grizzly/http/HttpContent;
3 10 5 tBuilder Lorg/glassfish/grizzly/http/HttpTrailer$Builder;
4 10 6 trailers Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;
7 8 7 entry Ljava/util/Map$Entry<Ljava/lang/String;Ljava/lang/String;>;
Exceptions:
throws java.io.IOException
Signature: (Lorg/glassfish/grizzly/Buffer;ZLorg/glassfish/grizzly/asyncqueue/MessageCloner<Lorg/glassfish/grizzly/Buffer;>;)V
MethodParameters:
Name Flags
bufferToFlush final
isLast final
messageCloner final
private void checkCharBuffer();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield org.glassfish.grizzly.http.io.OutputBuffer.charsArray:[C
ifnonnull 3
1: aload 0
aload 0
getfield org.glassfish.grizzly.http.io.OutputBuffer.bufferSize:I
newarray 5
putfield org.glassfish.grizzly.http.io.OutputBuffer.charsArray:[C
2: aload 0
aload 0
getfield org.glassfish.grizzly.http.io.OutputBuffer.charsArray:[C
invokestatic java.nio.CharBuffer.wrap:([C)Ljava/nio/CharBuffer;
putfield org.glassfish.grizzly.http.io.OutputBuffer.charsBuffer:Ljava/nio/CharBuffer;
3: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/glassfish/grizzly/http/io/OutputBuffer;
private boolean writingChars();
descriptor: ()Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.glassfish.grizzly.http.io.OutputBuffer.charsArray:[C
ifnull 1
aload 0
getfield org.glassfish.grizzly.http.io.OutputBuffer.charsArrayLength:I
ifle 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/glassfish/grizzly/http/io/OutputBuffer;
private boolean writingBytes();
descriptor: ()Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.glassfish.grizzly.http.io.OutputBuffer.currentBuffer:Lorg/glassfish/grizzly/Buffer;
ifnull 1
aload 0
getfield org.glassfish.grizzly.http.io.OutputBuffer.currentBuffer:Lorg/glassfish/grizzly/Buffer;
invokeinterface org.glassfish.grizzly.Buffer.position:()I
ifeq 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/glassfish/grizzly/http/io/OutputBuffer;
private void checkCurrentBuffer();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
getfield org.glassfish.grizzly.http.io.OutputBuffer.currentBuffer:Lorg/glassfish/grizzly/Buffer;
ifnonnull 3
1: aload 0
aload 0
getfield org.glassfish.grizzly.http.io.OutputBuffer.memoryManager:Lorg/glassfish/grizzly/memory/MemoryManager;
aload 0
getfield org.glassfish.grizzly.http.io.OutputBuffer.bufferSize:I
invokeinterface org.glassfish.grizzly.memory.MemoryManager.allocate:(I)Lorg/glassfish/grizzly/Buffer;
putfield org.glassfish.grizzly.http.io.OutputBuffer.currentBuffer:Lorg/glassfish/grizzly/Buffer;
2: aload 0
getfield org.glassfish.grizzly.http.io.OutputBuffer.currentBuffer:Lorg/glassfish/grizzly/Buffer;
iconst_1
invokeinterface org.glassfish.grizzly.Buffer.allowBufferDispose:(Z)V
3: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/glassfish/grizzly/http/io/OutputBuffer;
private void finishCurrentBuffer();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield org.glassfish.grizzly.http.io.OutputBuffer.currentBuffer:Lorg/glassfish/grizzly/Buffer;
ifnull 5
aload 0
getfield org.glassfish.grizzly.http.io.OutputBuffer.currentBuffer:Lorg/glassfish/grizzly/Buffer;
invokeinterface org.glassfish.grizzly.Buffer.position:()I
ifle 5
1: aload 0
getfield org.glassfish.grizzly.http.io.OutputBuffer.currentBuffer:Lorg/glassfish/grizzly/Buffer;
invokeinterface org.glassfish.grizzly.Buffer.trim:()V
2: aload 0
invokevirtual org.glassfish.grizzly.http.io.OutputBuffer.checkCompositeBuffer:()V
3: aload 0
getfield org.glassfish.grizzly.http.io.OutputBuffer.compositeBuffer:Lorg/glassfish/grizzly/memory/CompositeBuffer;
aload 0
getfield org.glassfish.grizzly.http.io.OutputBuffer.currentBuffer:Lorg/glassfish/grizzly/Buffer;
invokevirtual org.glassfish.grizzly.memory.CompositeBuffer.append:(Lorg/glassfish/grizzly/Buffer;)Lorg/glassfish/grizzly/memory/CompositeBuffer;
pop
4: aload 0
aconst_null
putfield org.glassfish.grizzly.http.io.OutputBuffer.currentBuffer:Lorg/glassfish/grizzly/Buffer;
5: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lorg/glassfish/grizzly/http/io/OutputBuffer;
private java.nio.charset.CharsetEncoder getEncoder();
descriptor: ()Ljava/nio/charset/CharsetEncoder;
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=3, args_size=1
start local 0 0: aload 0
getfield org.glassfish.grizzly.http.io.OutputBuffer.encoder:Ljava/nio/charset/CharsetEncoder;
ifnonnull 13
1: aload 0
getfield org.glassfish.grizzly.http.io.OutputBuffer.outputHeader:Lorg/glassfish/grizzly/http/HttpHeader;
invokevirtual org.glassfish.grizzly.http.HttpHeader.getCharacterEncoding:()Ljava/lang/String;
astore 1
start local 1 2: aload 1
ifnonnull 4
3: getstatic org.glassfish.grizzly.http.util.Constants.DEFAULT_HTTP_CHARACTER_ENCODING:Ljava/lang/String;
astore 1
4: StackMap locals: java.lang.String
StackMap stack:
aload 0
aload 0
getfield org.glassfish.grizzly.http.io.OutputBuffer.encoders:Ljava/util/Map;
aload 1
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.nio.charset.CharsetEncoder
putfield org.glassfish.grizzly.http.io.OutputBuffer.encoder:Ljava/nio/charset/CharsetEncoder;
5: aload 0
getfield org.glassfish.grizzly.http.io.OutputBuffer.encoder:Ljava/nio/charset/CharsetEncoder;
ifnonnull 12
6: aload 1
invokestatic org.glassfish.grizzly.utils.Charsets.lookupCharset:(Ljava/lang/String;)Ljava/nio/charset/Charset;
astore 2
start local 2 7: aload 0
aload 2
invokevirtual java.nio.charset.Charset.newEncoder:()Ljava/nio/charset/CharsetEncoder;
putfield org.glassfish.grizzly.http.io.OutputBuffer.encoder:Ljava/nio/charset/CharsetEncoder;
8: aload 0
getfield org.glassfish.grizzly.http.io.OutputBuffer.encoder:Ljava/nio/charset/CharsetEncoder;
getstatic java.nio.charset.CodingErrorAction.REPLACE:Ljava/nio/charset/CodingErrorAction;
invokevirtual java.nio.charset.CharsetEncoder.onMalformedInput:(Ljava/nio/charset/CodingErrorAction;)Ljava/nio/charset/CharsetEncoder;
pop
9: aload 0
getfield org.glassfish.grizzly.http.io.OutputBuffer.encoder:Ljava/nio/charset/CharsetEncoder;
getstatic java.nio.charset.CodingErrorAction.REPLACE:Ljava/nio/charset/CodingErrorAction;
invokevirtual java.nio.charset.CharsetEncoder.onUnmappableCharacter:(Ljava/nio/charset/CodingErrorAction;)Ljava/nio/charset/CharsetEncoder;
pop
10: aload 0
getfield org.glassfish.grizzly.http.io.OutputBuffer.encoders:Ljava/util/Map;
aload 1
aload 0
getfield org.glassfish.grizzly.http.io.OutputBuffer.encoder:Ljava/nio/charset/CharsetEncoder;
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
end local 2 11: goto 13
12: StackMap locals:
StackMap stack:
aload 0
getfield org.glassfish.grizzly.http.io.OutputBuffer.encoder:Ljava/nio/charset/CharsetEncoder;
invokevirtual java.nio.charset.CharsetEncoder.reset:()Ljava/nio/charset/CharsetEncoder;
pop
end local 1 13: StackMap locals:
StackMap stack:
aload 0
getfield org.glassfish.grizzly.http.io.OutputBuffer.encoder:Ljava/nio/charset/CharsetEncoder;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 this Lorg/glassfish/grizzly/http/io/OutputBuffer;
2 13 1 encoding Ljava/lang/String;
7 11 2 cs Ljava/nio/charset/Charset;
private boolean doCommit();
descriptor: ()Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield org.glassfish.grizzly.http.io.OutputBuffer.committed:Z
ifne 5
1: aload 0
invokevirtual org.glassfish.grizzly.http.io.OutputBuffer.notifyCommit:()V
2: aload 0
iconst_1
putfield org.glassfish.grizzly.http.io.OutputBuffer.committed:Z
3: aload 0
getfield org.glassfish.grizzly.http.io.OutputBuffer.outputHeader:Lorg/glassfish/grizzly/http/HttpHeader;
invokevirtual org.glassfish.grizzly.http.HttpHeader.getHeaders:()Lorg/glassfish/grizzly/http/util/MimeHeaders;
invokevirtual org.glassfish.grizzly.http.util.MimeHeaders.mark:()V
4: iconst_1
ireturn
5: StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lorg/glassfish/grizzly/http/io/OutputBuffer;
Exceptions:
throws java.io.IOException
private void (boolean);
descriptor: (Z)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield org.glassfish.grizzly.http.io.OutputBuffer.headersWritten:Z
ifne 7
1: iload 1
ifeq 6
2: aload 0
getfield org.glassfish.grizzly.http.io.OutputBuffer.outputHeader:Lorg/glassfish/grizzly/http/HttpHeader;
ifnull 7
3: aload 0
getfield org.glassfish.grizzly.http.io.OutputBuffer.builder:Lorg/glassfish/grizzly/http/HttpContent$Builder;
iconst_1
invokevirtual org.glassfish.grizzly.http.HttpContent$Builder.last:(Z)Lorg/glassfish/grizzly/http/HttpContent$Builder;
aconst_null
invokevirtual org.glassfish.grizzly.http.HttpContent$Builder.content:(Lorg/glassfish/grizzly/Buffer;)Lorg/glassfish/grizzly/http/HttpContent$Builder;
pop
4: aload 0
getfield org.glassfish.grizzly.http.io.OutputBuffer.ctx:Lorg/glassfish/grizzly/filterchain/FilterChainContext;
aload 0
getfield org.glassfish.grizzly.http.io.OutputBuffer.builder:Lorg/glassfish/grizzly/http/HttpContent$Builder;
invokevirtual org.glassfish.grizzly.http.HttpContent$Builder.build:()Lorg/glassfish/grizzly/http/HttpContent;
getstatic org.glassfish.grizzly.http.io.OutputBuffer.IS_BLOCKING:Z
invokevirtual org.glassfish.grizzly.filterchain.FilterChainContext.write:(Ljava/lang/Object;Z)V
5: goto 7
6: StackMap locals:
StackMap stack:
aload 0
getfield org.glassfish.grizzly.http.io.OutputBuffer.ctx:Lorg/glassfish/grizzly/filterchain/FilterChainContext;
aload 0
getfield org.glassfish.grizzly.http.io.OutputBuffer.outputHeader:Lorg/glassfish/grizzly/http/HttpHeader;
getstatic org.glassfish.grizzly.http.io.OutputBuffer.IS_BLOCKING:Z
invokevirtual org.glassfish.grizzly.filterchain.FilterChainContext.write:(Ljava/lang/Object;Z)V
7: StackMap locals:
StackMap stack:
aload 0
iconst_1
putfield org.glassfish.grizzly.http.io.OutputBuffer.headersWritten:Z
8: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lorg/glassfish/grizzly/http/io/OutputBuffer;
0 9 1 isLast Z
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
isLast final
private void checkCompositeBuffer();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
getfield org.glassfish.grizzly.http.io.OutputBuffer.compositeBuffer:Lorg/glassfish/grizzly/memory/CompositeBuffer;
ifnonnull 5
1: aload 0
getfield org.glassfish.grizzly.http.io.OutputBuffer.memoryManager:Lorg/glassfish/grizzly/memory/MemoryManager;
invokestatic org.glassfish.grizzly.memory.CompositeBuffer.newBuffer:(Lorg/glassfish/grizzly/memory/MemoryManager;)Lorg/glassfish/grizzly/memory/CompositeBuffer;
astore 1
start local 1 2: aload 1
iconst_1
invokevirtual org.glassfish.grizzly.memory.CompositeBuffer.allowBufferDispose:(Z)V
3: aload 1
iconst_1
invokevirtual org.glassfish.grizzly.memory.CompositeBuffer.allowInternalBuffersDispose:(Z)V
4: aload 0
aload 1
putfield org.glassfish.grizzly.http.io.OutputBuffer.compositeBuffer:Lorg/glassfish/grizzly/memory/CompositeBuffer;
end local 1 5: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lorg/glassfish/grizzly/http/io/OutputBuffer;
2 5 1 buffer Lorg/glassfish/grizzly/memory/CompositeBuffer;
private void flushCharsToBuf(boolean);
descriptor: (Z)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield org.glassfish.grizzly.http.io.OutputBuffer.charsBuffer:Ljava/nio/CharBuffer;
aload 0
getfield org.glassfish.grizzly.http.io.OutputBuffer.charsArrayLength:I
invokevirtual java.nio.CharBuffer.limit:(I)Ljava/nio/Buffer;
pop
1: aload 0
aload 0
getfield org.glassfish.grizzly.http.io.OutputBuffer.charsBuffer:Ljava/nio/CharBuffer;
iload 1
invokevirtual org.glassfish.grizzly.http.io.OutputBuffer.flushCharsToBuf:(Ljava/nio/CharBuffer;Z)V
2: goto 7
StackMap locals:
StackMap stack: java.lang.Throwable
3: astore 2
4: aload 0
iconst_0
putfield org.glassfish.grizzly.http.io.OutputBuffer.charsArrayLength:I
5: aload 0
getfield org.glassfish.grizzly.http.io.OutputBuffer.charsBuffer:Ljava/nio/CharBuffer;
invokevirtual java.nio.CharBuffer.clear:()Ljava/nio/Buffer;
pop
6: aload 2
athrow
7: StackMap locals:
StackMap stack:
aload 0
iconst_0
putfield org.glassfish.grizzly.http.io.OutputBuffer.charsArrayLength:I
8: aload 0
getfield org.glassfish.grizzly.http.io.OutputBuffer.charsBuffer:Ljava/nio/CharBuffer;
invokevirtual java.nio.CharBuffer.clear:()Ljava/nio/Buffer;
pop
9: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lorg/glassfish/grizzly/http/io/OutputBuffer;
0 10 1 canFlushToNet Z
Exception table:
from to target type
1 3 3 any
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
canFlushToNet final
private void flushCharsToBuf(java.nio.CharBuffer, boolean);
descriptor: (Ljava/nio/CharBuffer;Z)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=8, args_size=3
start local 0 start local 1 start local 2 0: aload 1
invokevirtual java.nio.CharBuffer.hasRemaining:()Z
ifne 2
1: return
2: StackMap locals:
StackMap stack:
aload 0
invokevirtual org.glassfish.grizzly.http.io.OutputBuffer.getEncoder:()Ljava/nio/charset/CharsetEncoder;
astore 3
start local 3 3: aload 0
invokevirtual org.glassfish.grizzly.http.io.OutputBuffer.checkCurrentBuffer:()V
4: aload 0
getfield org.glassfish.grizzly.http.io.OutputBuffer.currentBuffer:Lorg/glassfish/grizzly/Buffer;
invokeinterface org.glassfish.grizzly.Buffer.hasRemaining:()Z
ifne 7
5: aload 0
invokevirtual org.glassfish.grizzly.http.io.OutputBuffer.finishCurrentBuffer:()V
6: aload 0
invokevirtual org.glassfish.grizzly.http.io.OutputBuffer.checkCurrentBuffer:()V
7: StackMap locals: java.nio.charset.CharsetEncoder
StackMap stack:
aload 0
getfield org.glassfish.grizzly.http.io.OutputBuffer.currentBuffer:Lorg/glassfish/grizzly/Buffer;
invokeinterface org.glassfish.grizzly.Buffer.toByteBuffer:()Ljava/nio/ByteBuffer;
astore 4
start local 4 8: aload 0
getfield org.glassfish.grizzly.http.io.OutputBuffer.currentBuffer:Lorg/glassfish/grizzly/Buffer;
invokeinterface org.glassfish.grizzly.Buffer.position:()I
istore 5
start local 5 9: aload 4
invokevirtual java.nio.ByteBuffer.position:()I
istore 6
start local 6 10: aload 3
aload 1
aload 4
iconst_1
invokevirtual java.nio.charset.CharsetEncoder.encode:(Ljava/nio/CharBuffer;Ljava/nio/ByteBuffer;Z)Ljava/nio/charset/CoderResult;
astore 7
start local 7 11: aload 0
getfield org.glassfish.grizzly.http.io.OutputBuffer.currentBuffer:Lorg/glassfish/grizzly/Buffer;
iload 5
aload 4
invokevirtual java.nio.ByteBuffer.position:()I
iadd
iload 6
isub
invokeinterface org.glassfish.grizzly.Buffer.position:(I)Lorg/glassfish/grizzly/Buffer;
pop
12: goto 21
13: StackMap locals: org.glassfish.grizzly.http.io.OutputBuffer java.nio.CharBuffer int java.nio.charset.CharsetEncoder java.nio.ByteBuffer int int java.nio.charset.CoderResult
StackMap stack:
aload 0
invokevirtual org.glassfish.grizzly.http.io.OutputBuffer.checkCurrentBuffer:()V
14: aload 0
getfield org.glassfish.grizzly.http.io.OutputBuffer.currentBuffer:Lorg/glassfish/grizzly/Buffer;
invokeinterface org.glassfish.grizzly.Buffer.toByteBuffer:()Ljava/nio/ByteBuffer;
astore 4
15: aload 0
getfield org.glassfish.grizzly.http.io.OutputBuffer.currentBuffer:Lorg/glassfish/grizzly/Buffer;
invokeinterface org.glassfish.grizzly.Buffer.position:()I
istore 5
16: aload 4
invokevirtual java.nio.ByteBuffer.position:()I
istore 6
17: aload 3
aload 1
aload 4
iconst_1
invokevirtual java.nio.charset.CharsetEncoder.encode:(Ljava/nio/CharBuffer;Ljava/nio/ByteBuffer;Z)Ljava/nio/charset/CoderResult;
astore 7
18: aload 0
getfield org.glassfish.grizzly.http.io.OutputBuffer.currentBuffer:Lorg/glassfish/grizzly/Buffer;
iload 5
aload 4
invokevirtual java.nio.ByteBuffer.position:()I
iadd
iload 6
isub
invokeinterface org.glassfish.grizzly.Buffer.position:(I)Lorg/glassfish/grizzly/Buffer;
pop
19: aload 7
getstatic java.nio.charset.CoderResult.OVERFLOW:Ljava/nio/charset/CoderResult;
if_acmpne 21
20: aload 0
invokevirtual org.glassfish.grizzly.http.io.OutputBuffer.finishCurrentBuffer:()V
21: StackMap locals:
StackMap stack:
aload 7
getstatic java.nio.charset.CoderResult.OVERFLOW:Ljava/nio/charset/CoderResult;
if_acmpeq 13
22: aload 7
getstatic java.nio.charset.CoderResult.UNDERFLOW:Ljava/nio/charset/CoderResult;
if_acmpeq 24
23: new java.io.IOException
dup
ldc "Encoding error"
invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
24: StackMap locals:
StackMap stack:
iload 2
ifeq 26
25: aload 0
invokevirtual org.glassfish.grizzly.http.io.OutputBuffer.flushBinaryBuffersIfNeeded:()V
26: StackMap locals:
StackMap stack:
return
end local 7 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 27 0 this Lorg/glassfish/grizzly/http/io/OutputBuffer;
0 27 1 charBuf Ljava/nio/CharBuffer;
0 27 2 canFlushToNet Z
3 27 3 enc Ljava/nio/charset/CharsetEncoder;
8 27 4 currentByteBuffer Ljava/nio/ByteBuffer;
9 27 5 bufferPos I
10 27 6 byteBufferPos I
11 27 7 res Ljava/nio/charset/CoderResult;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
charBuf final
canFlushToNet final
private void flushBinaryBuffersIfNeeded();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield org.glassfish.grizzly.http.io.OutputBuffer.compositeBuffer:Lorg/glassfish/grizzly/memory/CompositeBuffer;
ifnull 3
1: aload 0
iconst_0
invokevirtual org.glassfish.grizzly.http.io.OutputBuffer.flushBinaryBuffers:(Z)Z
pop
2: aload 0
invokevirtual org.glassfish.grizzly.http.io.OutputBuffer.blockAfterWriteIfNeeded:()V
3: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/glassfish/grizzly/http/io/OutputBuffer;
Exceptions:
throws java.io.IOException
private void notifyCommit();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=6, args_size=1
start local 0 0: aload 0
getfield org.glassfish.grizzly.http.io.OutputBuffer.lifeCycleListeners:Ljava/util/List;
aload 0
getfield org.glassfish.grizzly.http.io.OutputBuffer.lifeCycleListeners:Ljava/util/List;
invokeinterface java.util.List.size:()I
anewarray org.glassfish.grizzly.http.io.OutputBuffer$LifeCycleListener
invokeinterface java.util.List.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
checkcast org.glassfish.grizzly.http.io.OutputBuffer$LifeCycleListener[]
astore 1
start local 1 1: aload 1
dup
astore 5
arraylength
istore 4
iconst_0
istore 3
goto 5
StackMap locals: org.glassfish.grizzly.http.io.OutputBuffer org.glassfish.grizzly.http.io.OutputBuffer$LifeCycleListener[] top int int org.glassfish.grizzly.http.io.OutputBuffer$LifeCycleListener[]
StackMap stack:
2: aload 5
iload 3
aaload
astore 2
start local 2 3: aload 2
invokeinterface org.glassfish.grizzly.http.io.OutputBuffer$LifeCycleListener.onCommit:()V
end local 2 4: iinc 3 1
StackMap locals:
StackMap stack:
5: iload 3
iload 4
if_icmplt 2
6: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lorg/glassfish/grizzly/http/io/OutputBuffer;
1 7 1 array [Lorg/glassfish/grizzly/http/io/OutputBuffer$LifeCycleListener;
3 4 2 lifeCycleListener Lorg/glassfish/grizzly/http/io/OutputBuffer$LifeCycleListener;
Exceptions:
throws java.io.IOException
private void updateNonBlockingStatus();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
aload 0
getfield org.glassfish.grizzly.http.io.OutputBuffer.isNonBlockingWriteGuaranteed:Z
putfield org.glassfish.grizzly.http.io.OutputBuffer.isLastWriteNonBlocking:Z
1: aload 0
iconst_0
putfield org.glassfish.grizzly.http.io.OutputBuffer.isNonBlockingWriteGuaranteed:Z
2: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/glassfish/grizzly/http/io/OutputBuffer;
}
SourceFile: "OutputBuffer.java"
NestMembers:
org.glassfish.grizzly.http.io.OutputBuffer$1 org.glassfish.grizzly.http.io.OutputBuffer$2 org.glassfish.grizzly.http.io.OutputBuffer$ByteArrayCloner org.glassfish.grizzly.http.io.OutputBuffer$InternalWriteHandler org.glassfish.grizzly.http.io.OutputBuffer$InternalWriteHandler$1 org.glassfish.grizzly.http.io.OutputBuffer$InternalWriteHandler$2 org.glassfish.grizzly.http.io.OutputBuffer$LifeCycleListener
InnerClasses:
public abstract Entry = java.util.Map$Entry of java.util.Map
public final Reentrant = org.glassfish.grizzly.Writer$Reentrant of org.glassfish.grizzly.Writer
public Builder = org.glassfish.grizzly.http.HttpContent$Builder of org.glassfish.grizzly.http.HttpContent
public final Builder = org.glassfish.grizzly.http.HttpTrailer$Builder of org.glassfish.grizzly.http.HttpTrailer
org.glassfish.grizzly.http.io.OutputBuffer$1
org.glassfish.grizzly.http.io.OutputBuffer$2
final ByteArrayCloner = org.glassfish.grizzly.http.io.OutputBuffer$ByteArrayCloner of org.glassfish.grizzly.http.io.OutputBuffer
private InternalWriteHandler = org.glassfish.grizzly.http.io.OutputBuffer$InternalWriteHandler of org.glassfish.grizzly.http.io.OutputBuffer
public abstract LifeCycleListener = org.glassfish.grizzly.http.io.OutputBuffer$LifeCycleListener of org.glassfish.grizzly.http.io.OutputBuffer