public class org.glassfish.grizzly.http.io.OutputBuffer extends java.lang.Object
{
protected static final java.util.logging.Logger LOGGER;
private static final int DEFAULT_BUFFER_SIZE;
private static final int MAX_CHAR_BUFFER_SIZE;
private static final int MIN_BUFFER_SIZE;
private static final boolean IS_BLOCKING;
private org.glassfish.grizzly.filterchain.FilterChainContext ctx;
private org.glassfish.grizzly.memory.CompositeBuffer compositeBuffer;
private org.glassfish.grizzly.Buffer currentBuffer;
private final org.glassfish.grizzly.http.io.TemporaryHeapBuffer temporaryWriteBuffer;
private final org.glassfish.grizzly.http.io.OutputBuffer$ByteArrayCloner cloner;
private final java.util.List lifeCycleListeners;
private boolean committed;
private boolean headersWritten;
private boolean finished;
private boolean closed;
private java.nio.charset.CharsetEncoder encoder;
private final java.util.Map encoders;
private char[] charsArray;
private int charsArrayLength;
private java.nio.CharBuffer charsBuffer;
private org.glassfish.grizzly.memory.MemoryManager memoryManager;
private org.glassfish.grizzly.Connection connection;
private org.glassfish.grizzly.WriteHandler handler;
private org.glassfish.grizzly.http.io.OutputBuffer$InternalWriteHandler asyncWriteHandler;
private boolean fileTransferRequested;
private int bufferSize;
protected boolean sendfileEnabled;
private org.glassfish.grizzly.http.HttpHeader outputHeader;
private java.lang.Runnable writePossibleRunnable;
private org.glassfish.grizzly.http.HttpContent$Builder builder;
private boolean isNonBlockingWriteGuaranteed;
private boolean isLastWriteNonBlocking;
private org.glassfish.grizzly.http.HttpContext httpContext;
private java.util.function.Supplier trailersSupplier;
static final boolean $assertionsDisabled;
public void <init>()
{
org.glassfish.grizzly.http.io.TemporaryHeapBuffer v, v;
org.glassfish.grizzly.http.io.OutputBuffer v;
int v;
java.util.HashMap v;
org.glassfish.grizzly.http.io.OutputBuffer$ByteArrayCloner v;
java.util.ArrayList v;
v := @this: org.glassfish.grizzly.http.io.OutputBuffer;
specialinvoke v.<java.lang.Object: void <init>()>();
v = new org.glassfish.grizzly.http.io.TemporaryHeapBuffer;
specialinvoke v.<org.glassfish.grizzly.http.io.TemporaryHeapBuffer: void <init>()>();
v.<org.glassfish.grizzly.http.io.OutputBuffer: org.glassfish.grizzly.http.io.TemporaryHeapBuffer temporaryWriteBuffer> = v;
v = new org.glassfish.grizzly.http.io.OutputBuffer$ByteArrayCloner;
v = v.<org.glassfish.grizzly.http.io.OutputBuffer: org.glassfish.grizzly.http.io.TemporaryHeapBuffer temporaryWriteBuffer>;
specialinvoke v.<org.glassfish.grizzly.http.io.OutputBuffer$ByteArrayCloner: void <init>(org.glassfish.grizzly.http.io.TemporaryHeapBuffer)>(v);
v.<org.glassfish.grizzly.http.io.OutputBuffer: org.glassfish.grizzly.http.io.OutputBuffer$ByteArrayCloner cloner> = v;
v = new java.util.ArrayList;
specialinvoke v.<java.util.ArrayList: void <init>(int)>(2);
v.<org.glassfish.grizzly.http.io.OutputBuffer: java.util.List lifeCycleListeners> = v;
v = new java.util.HashMap;
specialinvoke v.<java.util.HashMap: void <init>()>();
v.<org.glassfish.grizzly.http.io.OutputBuffer: java.util.Map encoders> = v;
v = <org.glassfish.grizzly.http.io.OutputBuffer: int DEFAULT_BUFFER_SIZE>;
v.<org.glassfish.grizzly.http.io.OutputBuffer: int bufferSize> = v;
return;
}
public void initialize(org.glassfish.grizzly.http.HttpHeader, boolean, org.glassfish.grizzly.filterchain.FilterChainContext)
{
org.glassfish.grizzly.memory.MemoryManager v;
org.glassfish.grizzly.http.io.OutputBuffer v;
org.glassfish.grizzly.http.HttpContext v;
org.glassfish.grizzly.http.HttpContent$Builder v, v, v;
org.glassfish.grizzly.http.ProcessingState v;
org.glassfish.grizzly.filterchain.FilterChainContext v;
org.glassfish.grizzly.Connection v;
boolean v;
org.glassfish.grizzly.http.HttpHeader v;
v := @this: org.glassfish.grizzly.http.io.OutputBuffer;
v := @parameter: org.glassfish.grizzly.http.HttpHeader;
v := @parameter: boolean;
v := @parameter: org.glassfish.grizzly.filterchain.FilterChainContext;
v.<org.glassfish.grizzly.http.io.OutputBuffer: org.glassfish.grizzly.http.HttpHeader outputHeader> = v;
v = v.<org.glassfish.grizzly.http.io.OutputBuffer: org.glassfish.grizzly.http.HttpContent$Builder builder>;
if v != null goto label;
v = virtualinvoke v.<org.glassfish.grizzly.http.HttpHeader: org.glassfish.grizzly.http.HttpContent$Builder httpContentBuilder()>();
v.<org.glassfish.grizzly.http.io.OutputBuffer: org.glassfish.grizzly.http.HttpContent$Builder builder> = v;
goto label;
label:
v = v.<org.glassfish.grizzly.http.io.OutputBuffer: org.glassfish.grizzly.http.HttpContent$Builder builder>;
virtualinvoke v.<org.glassfish.grizzly.http.HttpContent$Builder: org.glassfish.grizzly.http.HttpContent$Builder httpHeader(org.glassfish.grizzly.http.HttpHeader)>(v);
label:
v.<org.glassfish.grizzly.http.io.OutputBuffer: boolean sendfileEnabled> = v;
v.<org.glassfish.grizzly.http.io.OutputBuffer: org.glassfish.grizzly.filterchain.FilterChainContext ctx> = v;
v = virtualinvoke v.<org.glassfish.grizzly.http.HttpHeader: org.glassfish.grizzly.http.ProcessingState getProcessingState()>();
v = virtualinvoke v.<org.glassfish.grizzly.http.ProcessingState: org.glassfish.grizzly.http.HttpContext getHttpContext()>();
v.<org.glassfish.grizzly.http.io.OutputBuffer: org.glassfish.grizzly.http.HttpContext httpContext> = v;
v = virtualinvoke v.<org.glassfish.grizzly.filterchain.FilterChainContext: org.glassfish.grizzly.Connection getConnection()>();
v.<org.glassfish.grizzly.http.io.OutputBuffer: org.glassfish.grizzly.Connection connection> = v;
v = virtualinvoke v.<org.glassfish.grizzly.filterchain.FilterChainContext: org.glassfish.grizzly.memory.MemoryManager getMemoryManager()>();
v.<org.glassfish.grizzly.http.io.OutputBuffer: org.glassfish.grizzly.memory.MemoryManager memoryManager> = v;
return;
}
public boolean isAsyncEnabled()
{
org.glassfish.grizzly.http.io.OutputBuffer v;
v := @this: org.glassfish.grizzly.http.io.OutputBuffer;
return 1;
}
public void setAsyncEnabled(boolean)
{
boolean v;
org.glassfish.grizzly.http.io.OutputBuffer v;
v := @this: org.glassfish.grizzly.http.io.OutputBuffer;
v := @parameter: boolean;
return;
}
public void prepareCharacterEncoder()
{
org.glassfish.grizzly.http.io.OutputBuffer v;
v := @this: org.glassfish.grizzly.http.io.OutputBuffer;
specialinvoke v.<org.glassfish.grizzly.http.io.OutputBuffer: java.nio.charset.CharsetEncoder getEncoder()>();
return;
}
public int getBufferSize()
{
int v;
org.glassfish.grizzly.http.io.OutputBuffer v;
v := @this: org.glassfish.grizzly.http.io.OutputBuffer;
v = v.<org.glassfish.grizzly.http.io.OutputBuffer: int bufferSize>;
return v;
}
public void registerLifeCycleListener(org.glassfish.grizzly.http.io.OutputBuffer$LifeCycleListener)
{
java.util.List v;
org.glassfish.grizzly.http.io.OutputBuffer$LifeCycleListener v;
org.glassfish.grizzly.http.io.OutputBuffer v;
v := @this: org.glassfish.grizzly.http.io.OutputBuffer;
v := @parameter: org.glassfish.grizzly.http.io.OutputBuffer$LifeCycleListener;
v = v.<org.glassfish.grizzly.http.io.OutputBuffer: java.util.List lifeCycleListeners>;
interfaceinvoke v.<java.util.List: boolean add(java.lang.Object)>(v);
return;
}
public boolean removeLifeCycleListener(org.glassfish.grizzly.http.io.OutputBuffer$LifeCycleListener)
{
java.util.List v;
org.glassfish.grizzly.http.io.OutputBuffer$LifeCycleListener v;
org.glassfish.grizzly.http.io.OutputBuffer v;
boolean v;
v := @this: org.glassfish.grizzly.http.io.OutputBuffer;
v := @parameter: org.glassfish.grizzly.http.io.OutputBuffer$LifeCycleListener;
v = v.<org.glassfish.grizzly.http.io.OutputBuffer: java.util.List lifeCycleListeners>;
v = interfaceinvoke v.<java.util.List: boolean remove(java.lang.Object)>(v);
return v;
}
public void setBufferSize(int)
{
java.nio.CharBuffer v;
org.glassfish.grizzly.http.io.OutputBuffer v;
org.glassfish.grizzly.Buffer v;
int v, v, v, v;
char[] v, v, v, v;
boolean v;
v := @this: org.glassfish.grizzly.http.io.OutputBuffer;
v := @parameter: int;
v = v.<org.glassfish.grizzly.http.io.OutputBuffer: boolean committed>;
if v == 0 goto label;
return;
label:
v = staticinvoke <java.lang.Math: int max(int,int)>(v, 512);
v = v.<org.glassfish.grizzly.http.io.OutputBuffer: org.glassfish.grizzly.Buffer currentBuffer>;
if v != null goto label;
v.<org.glassfish.grizzly.http.io.OutputBuffer: int bufferSize> = v;
label:
v = v.<org.glassfish.grizzly.http.io.OutputBuffer: char[] charsArray>;
if v == null goto label;
v = v.<org.glassfish.grizzly.http.io.OutputBuffer: char[] charsArray>;
v = lengthof v;
if v >= v goto label;
v = newarray (char)[v];
v = v.<org.glassfish.grizzly.http.io.OutputBuffer: char[] charsArray>;
v = v.<org.glassfish.grizzly.http.io.OutputBuffer: int charsArrayLength>;
staticinvoke <java.lang.System: void arraycopy(java.lang.Object,int,java.lang.Object,int,int)>(v, 0, v, 0, v);
v = staticinvoke <java.nio.CharBuffer: java.nio.CharBuffer wrap(char[])>(v);
v.<org.glassfish.grizzly.http.io.OutputBuffer: java.nio.CharBuffer charsBuffer> = v;
v.<org.glassfish.grizzly.http.io.OutputBuffer: char[] charsArray> = v;
label:
return;
}
public void reset()
{
java.lang.IllegalStateException v;
org.glassfish.grizzly.http.io.OutputBuffer v;
org.glassfish.grizzly.Buffer v, v;
boolean v;
v := @this: org.glassfish.grizzly.http.io.OutputBuffer;
v = v.<org.glassfish.grizzly.http.io.OutputBuffer: boolean committed>;
if v == 0 goto label;
v = new java.lang.IllegalStateException;
specialinvoke v.<java.lang.IllegalStateException: void <init>(java.lang.String)>("Cannot reset the response as it has already been committed.");
throw v;
label:
v.<org.glassfish.grizzly.http.io.OutputBuffer: org.glassfish.grizzly.memory.CompositeBuffer compositeBuffer> = null;
v = v.<org.glassfish.grizzly.http.io.OutputBuffer: org.glassfish.grizzly.Buffer currentBuffer>;
if v == null goto label;
v = v.<org.glassfish.grizzly.http.io.OutputBuffer: org.glassfish.grizzly.Buffer currentBuffer>;
interfaceinvoke v.<org.glassfish.grizzly.Buffer: org.glassfish.grizzly.Buffer clear()>();
label:
v.<org.glassfish.grizzly.http.io.OutputBuffer: int charsArrayLength> = 0;
v.<org.glassfish.grizzly.http.io.OutputBuffer: java.nio.charset.CharsetEncoder encoder> = null;
return;
}
public boolean isClosed()
{
boolean v;
org.glassfish.grizzly.http.io.OutputBuffer v;
v := @this: org.glassfish.grizzly.http.io.OutputBuffer;
v = v.<org.glassfish.grizzly.http.io.OutputBuffer: boolean closed>;
return v;
}
public int getBufferedDataSize()
{
org.glassfish.grizzly.http.io.OutputBuffer v;
org.glassfish.grizzly.Buffer v, v;
org.glassfish.grizzly.memory.CompositeBuffer v, v;
int v, v, v, v, v, v;
v := @this: org.glassfish.grizzly.http.io.OutputBuffer;
v = 0;
v = v.<org.glassfish.grizzly.http.io.OutputBuffer: org.glassfish.grizzly.memory.CompositeBuffer compositeBuffer>;
if v == null goto label;
v = v.<org.glassfish.grizzly.http.io.OutputBuffer: org.glassfish.grizzly.memory.CompositeBuffer compositeBuffer>;
v = virtualinvoke v.<org.glassfish.grizzly.memory.CompositeBuffer: int remaining()>();
v = 0 + v;
label:
v = v.<org.glassfish.grizzly.http.io.OutputBuffer: org.glassfish.grizzly.Buffer currentBuffer>;
if v == null goto label;
v = v.<org.glassfish.grizzly.http.io.OutputBuffer: org.glassfish.grizzly.Buffer currentBuffer>;
v = interfaceinvoke v.<org.glassfish.grizzly.Buffer: int position()>();
v = v + v;
label:
v = v.<org.glassfish.grizzly.http.io.OutputBuffer: int charsArrayLength>;
v = v << 1;
v = v + v;
return v;
}
public void recycle()
{
java.nio.CharBuffer v;
org.glassfish.grizzly.http.io.OutputBuffer v;
org.glassfish.grizzly.Buffer v, v;
org.glassfish.grizzly.memory.CompositeBuffer v, v;
org.glassfish.grizzly.http.HttpContent$Builder v;
java.util.List v;
org.glassfish.grizzly.http.io.TemporaryHeapBuffer v;
int v, v, v;
char[] v, v;
v := @this: org.glassfish.grizzly.http.io.OutputBuffer;
v.<org.glassfish.grizzly.http.io.OutputBuffer: org.glassfish.grizzly.http.HttpHeader outputHeader> = null;
v = v.<org.glassfish.grizzly.http.io.OutputBuffer: org.glassfish.grizzly.http.HttpContent$Builder builder>;
virtualinvoke v.<org.glassfish.grizzly.http.HttpContent$Builder: void reset()>();
v = v.<org.glassfish.grizzly.http.io.OutputBuffer: org.glassfish.grizzly.memory.CompositeBuffer compositeBuffer>;
if v == null goto label;
v = v.<org.glassfish.grizzly.http.io.OutputBuffer: org.glassfish.grizzly.memory.CompositeBuffer compositeBuffer>;
virtualinvoke v.<org.glassfish.grizzly.memory.CompositeBuffer: void dispose()>();
v.<org.glassfish.grizzly.http.io.OutputBuffer: org.glassfish.grizzly.memory.CompositeBuffer compositeBuffer> = null;
label:
v = v.<org.glassfish.grizzly.http.io.OutputBuffer: org.glassfish.grizzly.Buffer currentBuffer>;
if v == null goto label;
v = v.<org.glassfish.grizzly.http.io.OutputBuffer: org.glassfish.grizzly.Buffer currentBuffer>;
interfaceinvoke v.<org.glassfish.grizzly.Buffer: void dispose()>();
v.<org.glassfish.grizzly.http.io.OutputBuffer: org.glassfish.grizzly.Buffer currentBuffer> = null;
label:
v = v.<org.glassfish.grizzly.http.io.OutputBuffer: org.glassfish.grizzly.http.io.TemporaryHeapBuffer temporaryWriteBuffer>;
virtualinvoke v.<org.glassfish.grizzly.http.io.TemporaryHeapBuffer: void recycle()>();
v = v.<org.glassfish.grizzly.http.io.OutputBuffer: char[] charsArray>;
if v == null goto label;
v.<org.glassfish.grizzly.http.io.OutputBuffer: int charsArrayLength> = 0;
v = v.<org.glassfish.grizzly.http.io.OutputBuffer: char[] charsArray>;
v = lengthof v;
v = <org.glassfish.grizzly.http.io.OutputBuffer: int MAX_CHAR_BUFFER_SIZE>;
if v >= v goto label;
v = v.<org.glassfish.grizzly.http.io.OutputBuffer: java.nio.CharBuffer charsBuffer>;
virtualinvoke v.<java.nio.CharBuffer: java.nio.CharBuffer clear()>();
goto label;
label:
v.<org.glassfish.grizzly.http.io.OutputBuffer: java.nio.CharBuffer charsBuffer> = null;
v.<org.glassfish.grizzly.http.io.OutputBuffer: char[] charsArray> = null;
label:
v = <org.glassfish.grizzly.http.io.OutputBuffer: int DEFAULT_BUFFER_SIZE>;
v.<org.glassfish.grizzly.http.io.OutputBuffer: int bufferSize> = v;
v.<org.glassfish.grizzly.http.io.OutputBuffer: boolean fileTransferRequested> = 0;
v.<org.glassfish.grizzly.http.io.OutputBuffer: java.nio.charset.CharsetEncoder encoder> = null;
v.<org.glassfish.grizzly.http.io.OutputBuffer: org.glassfish.grizzly.filterchain.FilterChainContext ctx> = null;
v.<org.glassfish.grizzly.http.io.OutputBuffer: org.glassfish.grizzly.http.HttpContext httpContext> = null;
v.<org.glassfish.grizzly.http.io.OutputBuffer: org.glassfish.grizzly.Connection connection> = null;
v.<org.glassfish.grizzly.http.io.OutputBuffer: org.glassfish.grizzly.memory.MemoryManager memoryManager> = null;
v.<org.glassfish.grizzly.http.io.OutputBuffer: org.glassfish.grizzly.WriteHandler handler> = null;
v.<org.glassfish.grizzly.http.io.OutputBuffer: boolean isNonBlockingWriteGuaranteed> = 0;
v.<org.glassfish.grizzly.http.io.OutputBuffer: boolean isLastWriteNonBlocking> = 0;
v.<org.glassfish.grizzly.http.io.OutputBuffer: org.glassfish.grizzly.http.io.OutputBuffer$InternalWriteHandler asyncWriteHandler> = null;
v.<org.glassfish.grizzly.http.io.OutputBuffer: java.util.function.Supplier trailersSupplier> = null;
v.<org.glassfish.grizzly.http.io.OutputBuffer: boolean committed> = 0;
v.<org.glassfish.grizzly.http.io.OutputBuffer: boolean finished> = 0;
v.<org.glassfish.grizzly.http.io.OutputBuffer: boolean closed> = 0;
v.<org.glassfish.grizzly.http.io.OutputBuffer: boolean headersWritten> = 0;
v = v.<org.glassfish.grizzly.http.io.OutputBuffer: java.util.List lifeCycleListeners>;
interfaceinvoke v.<java.util.List: void clear()>();
return;
}
public void endRequest() throws java.io.IOException
{
org.glassfish.grizzly.filterchain.FilterChainContext v, v;
org.glassfish.grizzly.http.io.OutputBuffer v;
org.glassfish.grizzly.http.io.OutputBuffer$InternalWriteHandler v;
boolean v, v;
org.glassfish.grizzly.filterchain.FilterChainEvent v;
v := @this: org.glassfish.grizzly.http.io.OutputBuffer;
v = v.<org.glassfish.grizzly.http.io.OutputBuffer: boolean finished>;
if v == 0 goto label;
return;
label:
v = v.<org.glassfish.grizzly.http.io.OutputBuffer: org.glassfish.grizzly.http.io.OutputBuffer$InternalWriteHandler asyncWriteHandler>;
if v == null goto label;
v.<org.glassfish.grizzly.http.io.OutputBuffer: org.glassfish.grizzly.http.io.OutputBuffer$InternalWriteHandler asyncWriteHandler> = null;
virtualinvoke v.<org.glassfish.grizzly.http.io.OutputBuffer$InternalWriteHandler: void detach()>();
label:
v = v.<org.glassfish.grizzly.http.io.OutputBuffer: org.glassfish.grizzly.filterchain.FilterChainContext ctx>;
if v == null goto label;
v = v.<org.glassfish.grizzly.http.io.OutputBuffer: org.glassfish.grizzly.filterchain.FilterChainContext ctx>;
v = <org.glassfish.grizzly.http.HttpServerFilter: org.glassfish.grizzly.filterchain.FilterChainEvent RESPONSE_COMPLETE_EVENT>;
virtualinvoke v.<org.glassfish.grizzly.filterchain.FilterChainContext: void notifyDownstream(org.glassfish.grizzly.filterchain.FilterChainEvent)>(v);
label:
v.<org.glassfish.grizzly.http.io.OutputBuffer: boolean finished> = 1;
return;
}
public void acknowledge() throws java.io.IOException
{
org.glassfish.grizzly.filterchain.FilterChainContext v;
org.glassfish.grizzly.http.io.OutputBuffer v;
boolean v;
org.glassfish.grizzly.http.HttpHeader v;
v := @this: org.glassfish.grizzly.http.io.OutputBuffer;
v = v.<org.glassfish.grizzly.http.io.OutputBuffer: org.glassfish.grizzly.filterchain.FilterChainContext ctx>;
v = v.<org.glassfish.grizzly.http.io.OutputBuffer: org.glassfish.grizzly.http.HttpHeader outputHeader>;
v = <org.glassfish.grizzly.http.io.OutputBuffer: boolean IS_BLOCKING>;
virtualinvoke v.<org.glassfish.grizzly.filterchain.FilterChainContext: void write(java.lang.Object,boolean)>(v, v);
return;
}
public void writeChar(int) throws java.io.IOException
{
org.glassfish.grizzly.http.io.OutputBuffer v;
int v, v, v, v, v;
org.glassfish.grizzly.Connection v;
char[] v, v;
boolean v;
v := @this: org.glassfish.grizzly.http.io.OutputBuffer;
v := @parameter: int;
v = v.<org.glassfish.grizzly.http.io.OutputBuffer: org.glassfish.grizzly.Connection connection>;
interfaceinvoke v.<org.glassfish.grizzly.Connection: void assertOpen()>();
v = v.<org.glassfish.grizzly.http.io.OutputBuffer: boolean closed>;
if v == 0 goto label;
return;
label:
specialinvoke v.<org.glassfish.grizzly.http.io.OutputBuffer: void updateNonBlockingStatus()>();
specialinvoke v.<org.glassfish.grizzly.http.io.OutputBuffer: void checkCharBuffer()>();
v = v.<org.glassfish.grizzly.http.io.OutputBuffer: int charsArrayLength>;
v = v.<org.glassfish.grizzly.http.io.OutputBuffer: char[] charsArray>;
v = lengthof v;
if v != v goto label;
specialinvoke v.<org.glassfish.grizzly.http.io.OutputBuffer: void flushCharsToBuf(boolean)>(1);
label:
v = v.<org.glassfish.grizzly.http.io.OutputBuffer: char[] charsArray>;
v = v.<org.glassfish.grizzly.http.io.OutputBuffer: int charsArrayLength>;
v = v + 1;
v.<org.glassfish.grizzly.http.io.OutputBuffer: int charsArrayLength> = v;
v[v] = v;
return;
}
public void write(char[], int, int) throws java.io.IOException
{
org.glassfish.grizzly.http.io.OutputBuffer v;
int v, v, v, v, v, v, v, v, v, v, v, v, v, v, v;
boolean v, v;
java.nio.CharBuffer v;
org.glassfish.grizzly.Connection v;
char[] v, v, v, v, v;
v := @this: org.glassfish.grizzly.http.io.OutputBuffer;
v := @parameter: char[];
v := @parameter: int;
v := @parameter: int;
v = v.<org.glassfish.grizzly.http.io.OutputBuffer: org.glassfish.grizzly.Connection connection>;
interfaceinvoke v.<org.glassfish.grizzly.Connection: void assertOpen()>();
v = v.<org.glassfish.grizzly.http.io.OutputBuffer: boolean closed>;
if v != 0 goto label;
if v != 0 goto label;
label:
return;
label:
specialinvoke v.<org.glassfish.grizzly.http.io.OutputBuffer: void updateNonBlockingStatus()>();
v = specialinvoke v.<org.glassfish.grizzly.http.io.OutputBuffer: boolean writingBytes()>();
if v == 0 goto label;
specialinvoke v.<org.glassfish.grizzly.http.io.OutputBuffer: boolean flushBinaryBuffers(boolean)>(0);
label:
specialinvoke v.<org.glassfish.grizzly.http.io.OutputBuffer: void checkCharBuffer()>();
v = v.<org.glassfish.grizzly.http.io.OutputBuffer: char[] charsArray>;
v = lengthof v;
v = v.<org.glassfish.grizzly.http.io.OutputBuffer: int charsArrayLength>;
v = v - v;
if v > v goto label;
v = v.<org.glassfish.grizzly.http.io.OutputBuffer: char[] charsArray>;
v = v.<org.glassfish.grizzly.http.io.OutputBuffer: int charsArrayLength>;
staticinvoke <java.lang.System: void arraycopy(java.lang.Object,int,java.lang.Object,int,int)>(v, v, v, v, v);
v = v.<org.glassfish.grizzly.http.io.OutputBuffer: int charsArrayLength>;
v = v + v;
v.<org.glassfish.grizzly.http.io.OutputBuffer: int charsArrayLength> = v;
goto label;
label:
v = v - v;
if v >= v goto label;
v = v.<org.glassfish.grizzly.http.io.OutputBuffer: char[] charsArray>;
v = v.<org.glassfish.grizzly.http.io.OutputBuffer: int charsArrayLength>;
staticinvoke <java.lang.System: void arraycopy(java.lang.Object,int,java.lang.Object,int,int)>(v, v, v, v, v);
v = v.<org.glassfish.grizzly.http.io.OutputBuffer: int charsArrayLength>;
v = v + v;
v.<org.glassfish.grizzly.http.io.OutputBuffer: int charsArrayLength> = v;
specialinvoke v.<org.glassfish.grizzly.http.io.OutputBuffer: void flushCharsToBuf(boolean)>(1);
v = v + v;
v = v.<org.glassfish.grizzly.http.io.OutputBuffer: char[] charsArray>;
v = v - v;
staticinvoke <java.lang.System: void arraycopy(java.lang.Object,int,java.lang.Object,int,int)>(v, v, v, 0, v);
v = v - v;
v.<org.glassfish.grizzly.http.io.OutputBuffer: int charsArrayLength> = v;
goto label;
label:
specialinvoke v.<org.glassfish.grizzly.http.io.OutputBuffer: void flushCharsToBuf(boolean)>(0);
v = staticinvoke <java.nio.CharBuffer: java.nio.CharBuffer wrap(char[],int,int)>(v, v, v);
specialinvoke v.<org.glassfish.grizzly.http.io.OutputBuffer: void flushCharsToBuf(java.nio.CharBuffer,boolean)>(v, 1);
label:
return;
}
public void write(char[]) throws java.io.IOException
{
int v;
char[] v;
org.glassfish.grizzly.http.io.OutputBuffer v;
v := @this: org.glassfish.grizzly.http.io.OutputBuffer;
v := @parameter: char[];
v = lengthof v;
virtualinvoke v.<org.glassfish.grizzly.http.io.OutputBuffer: void write(char[],int,int)>(v, 0, v);
return;
}
public void write(java.lang.String) throws java.io.IOException
{
int v;
java.lang.String v;
org.glassfish.grizzly.http.io.OutputBuffer v;
v := @this: org.glassfish.grizzly.http.io.OutputBuffer;
v := @parameter: java.lang.String;
v = virtualinvoke v.<java.lang.String: int length()>();
virtualinvoke v.<org.glassfish.grizzly.http.io.OutputBuffer: void write(java.lang.String,int,int)>(v, 0, v);
return;
}
public void write(java.lang.String, int, int) throws java.io.IOException
{
org.glassfish.grizzly.http.io.OutputBuffer v;
int v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v;
java.lang.String v;
boolean v, v;
org.glassfish.grizzly.Connection v;
char[] v, v, v, v;
v := @this: org.glassfish.grizzly.http.io.OutputBuffer;
v := @parameter: java.lang.String;
v := @parameter: int;
v := @parameter: int;
v = v.<org.glassfish.grizzly.http.io.OutputBuffer: org.glassfish.grizzly.Connection connection>;
interfaceinvoke v.<org.glassfish.grizzly.Connection: void assertOpen()>();
v = v.<org.glassfish.grizzly.http.io.OutputBuffer: boolean closed>;
if v != 0 goto label;
if v != 0 goto label;
label:
return;
label:
specialinvoke v.<org.glassfish.grizzly.http.io.OutputBuffer: void updateNonBlockingStatus()>();
v = specialinvoke v.<org.glassfish.grizzly.http.io.OutputBuffer: boolean writingBytes()>();
if v == 0 goto label;
specialinvoke v.<org.glassfish.grizzly.http.io.OutputBuffer: boolean flushBinaryBuffers(boolean)>(0);
label:
specialinvoke v.<org.glassfish.grizzly.http.io.OutputBuffer: void checkCharBuffer()>();
v = v.<org.glassfish.grizzly.http.io.OutputBuffer: char[] charsArray>;
v = lengthof v;
v = v.<org.glassfish.grizzly.http.io.OutputBuffer: int charsArrayLength>;
v = v - v;
if v < v goto label;
v = v + v;
v = v.<org.glassfish.grizzly.http.io.OutputBuffer: char[] charsArray>;
v = v.<org.glassfish.grizzly.http.io.OutputBuffer: int charsArrayLength>;
virtualinvoke v.<java.lang.String: void getChars(int,int,char[],int)>(v, v, v, v);
v = v.<org.glassfish.grizzly.http.io.OutputBuffer: int charsArrayLength>;
v = v + v;
v.<org.glassfish.grizzly.http.io.OutputBuffer: int charsArrayLength> = v;
return;
label:
v = v;
v = v;
label:
v = v.<org.glassfish.grizzly.http.io.OutputBuffer: char[] charsArray>;
v = lengthof v;
v = v.<org.glassfish.grizzly.http.io.OutputBuffer: int charsArrayLength>;
v = v - v;
v = staticinvoke <java.lang.Math: int min(int,int)>(v, v);
v = v + v;
v = v.<org.glassfish.grizzly.http.io.OutputBuffer: char[] charsArray>;
v = v.<org.glassfish.grizzly.http.io.OutputBuffer: int charsArrayLength>;
virtualinvoke v.<java.lang.String: void getChars(int,int,char[],int)>(v, v, v, v);
v = v.<org.glassfish.grizzly.http.io.OutputBuffer: int charsArrayLength>;
v = v + v;
v.<org.glassfish.grizzly.http.io.OutputBuffer: int charsArrayLength> = v;
v = v + v;
v = v - v;
if v <= 0 goto label;
specialinvoke v.<org.glassfish.grizzly.http.io.OutputBuffer: void flushCharsToBuf(boolean)>(0);
label:
if v > 0 goto label;
specialinvoke v.<org.glassfish.grizzly.http.io.OutputBuffer: void flushBinaryBuffersIfNeeded()>();
return;
}
public void writeByte(int) throws java.io.IOException
{
org.glassfish.grizzly.http.io.OutputBuffer v;
org.glassfish.grizzly.Buffer v, v;
int v;
org.glassfish.grizzly.Connection v;
boolean v, v, v, v;
v := @this: org.glassfish.grizzly.http.io.OutputBuffer;
v := @parameter: int;
v = v.<org.glassfish.grizzly.http.io.OutputBuffer: org.glassfish.grizzly.Connection connection>;
interfaceinvoke v.<org.glassfish.grizzly.Connection: void assertOpen()>();
v = v.<org.glassfish.grizzly.http.io.OutputBuffer: boolean closed>;
if v == 0 goto label;
return;
label:
specialinvoke v.<org.glassfish.grizzly.http.io.OutputBuffer: void updateNonBlockingStatus()>();
v = specialinvoke v.<org.glassfish.grizzly.http.io.OutputBuffer: boolean writingChars()>();
if v == 0 goto label;
specialinvoke v.<org.glassfish.grizzly.http.io.OutputBuffer: void flushCharsToBuf(boolean)>(0);
label:
specialinvoke v.<org.glassfish.grizzly.http.io.OutputBuffer: void checkCurrentBuffer()>();
v = v.<org.glassfish.grizzly.http.io.OutputBuffer: org.glassfish.grizzly.Buffer currentBuffer>;
v = interfaceinvoke v.<org.glassfish.grizzly.Buffer: boolean hasRemaining()>();
if v != 0 goto label;
v = specialinvoke v.<org.glassfish.grizzly.http.io.OutputBuffer: boolean canWritePayloadChunk()>();
if v == 0 goto label;
specialinvoke v.<org.glassfish.grizzly.http.io.OutputBuffer: boolean doCommit()>();
specialinvoke v.<org.glassfish.grizzly.http.io.OutputBuffer: boolean flushBinaryBuffers(boolean)>(0);
specialinvoke v.<org.glassfish.grizzly.http.io.OutputBuffer: void checkCurrentBuffer()>();
specialinvoke v.<org.glassfish.grizzly.http.io.OutputBuffer: void blockAfterWriteIfNeeded()>();
goto label;
label:
specialinvoke v.<org.glassfish.grizzly.http.io.OutputBuffer: void finishCurrentBuffer()>();
specialinvoke v.<org.glassfish.grizzly.http.io.OutputBuffer: void checkCurrentBuffer()>();
label:
v = v.<org.glassfish.grizzly.http.io.OutputBuffer: org.glassfish.grizzly.Buffer currentBuffer>;
interfaceinvoke v.<org.glassfish.grizzly.Buffer: org.glassfish.grizzly.Buffer put(byte)>(v);
return;
}
public void write(byte[]) throws java.io.IOException
{
int v;
byte[] v;
org.glassfish.grizzly.http.io.OutputBuffer v;
v := @this: org.glassfish.grizzly.http.io.OutputBuffer;
v := @parameter: byte[];
v = lengthof v;
virtualinvoke v.<org.glassfish.grizzly.http.io.OutputBuffer: void write(byte[],int,int)>(v, 0, v);
return;
}
public void sendfile(java.io.File, org.glassfish.grizzly.CompletionHandler)
{
org.glassfish.grizzly.http.io.OutputBuffer v;
long v;
java.lang.IllegalArgumentException v;
java.io.File v;
org.glassfish.grizzly.CompletionHandler v;
v := @this: org.glassfish.grizzly.http.io.OutputBuffer;
v := @parameter: java.io.File;
v := @parameter: org.glassfish.grizzly.CompletionHandler;
if v != null goto label;
v = new java.lang.IllegalArgumentException;
specialinvoke v.<java.lang.IllegalArgumentException: void <init>(java.lang.String)>("Argument \'file\' cannot be null");
throw v;
label:
v = virtualinvoke v.<java.io.File: long length()>();
virtualinvoke v.<org.glassfish.grizzly.http.io.OutputBuffer: void sendfile(java.io.File,long,long,org.glassfish.grizzly.CompletionHandler)>(v, 0L, v, v);
return;
}
public void sendfile(java.io.File, long, long, org.glassfish.grizzly.CompletionHandler)
{
java.lang.IllegalStateException v, v;
java.lang.Object[] v;
org.glassfish.grizzly.http.io.OutputBuffer v;
long v, v;
java.util.logging.Level v, v;
org.glassfish.grizzly.filterchain.FilterChainContext v;
int v;
java.lang.String v, v, v, v, v, v;
boolean v, v, v;
org.glassfish.grizzly.http.util.HeaderValue v;
java.io.IOException v;
org.glassfish.grizzly.FileTransfer v;
java.util.logging.Logger v, v;
java.io.File v;
org.glassfish.grizzly.http.util.Header v;
org.glassfish.grizzly.CompletionHandler v;
org.glassfish.grizzly.http.HttpHeader v, v, v, v;
v := @this: org.glassfish.grizzly.http.io.OutputBuffer;
v := @parameter: java.io.File;
v := @parameter: long;
v := @parameter: long;
v := @parameter: org.glassfish.grizzly.CompletionHandler;
v = v.<org.glassfish.grizzly.http.io.OutputBuffer: boolean sendfileEnabled>;
if v != 0 goto label;
v = new java.lang.IllegalStateException;
specialinvoke v.<java.lang.IllegalStateException: void <init>(java.lang.String)>("sendfile support isn\'t available.");
throw v;
label:
v = v.<org.glassfish.grizzly.http.io.OutputBuffer: boolean fileTransferRequested>;
if v == 0 goto label;
v = new java.lang.IllegalStateException;
specialinvoke v.<java.lang.IllegalStateException: void <init>(java.lang.String)>("Only one file transfer allowed per request");
throw v;
label:
virtualinvoke v.<org.glassfish.grizzly.http.io.OutputBuffer: void reset()>();
v = new org.glassfish.grizzly.FileTransfer;
specialinvoke v.<org.glassfish.grizzly.FileTransfer: void <init>(java.io.File,long,long)>(v, v, v);
v.<org.glassfish.grizzly.http.io.OutputBuffer: boolean fileTransferRequested> = 1;
v = v.<org.glassfish.grizzly.http.io.OutputBuffer: org.glassfish.grizzly.http.HttpHeader outputHeader>;
v = virtualinvoke v.<org.glassfish.grizzly.FileTransfer: int remaining()>();
virtualinvoke v.<org.glassfish.grizzly.http.HttpHeader: void setContentLengthLong(long)>(v);
v = v.<org.glassfish.grizzly.http.io.OutputBuffer: org.glassfish.grizzly.http.HttpHeader outputHeader>;
v = virtualinvoke v.<org.glassfish.grizzly.http.HttpHeader: java.lang.String getContentType()>();
if v != null goto label;
v = v.<org.glassfish.grizzly.http.io.OutputBuffer: org.glassfish.grizzly.http.HttpHeader outputHeader>;
v = virtualinvoke v.<java.io.File: java.lang.String getName()>();
v = staticinvoke <org.glassfish.grizzly.http.util.MimeType: java.lang.String getByFilename(java.lang.String)>(v);
virtualinvoke v.<org.glassfish.grizzly.http.HttpHeader: void setContentType(java.lang.String)>(v);
label:
v = v.<org.glassfish.grizzly.http.io.OutputBuffer: org.glassfish.grizzly.http.HttpHeader outputHeader>;
v = <org.glassfish.grizzly.http.util.Header: org.glassfish.grizzly.http.util.Header ContentEncoding>;
v = <org.glassfish.grizzly.http.util.HeaderValue: org.glassfish.grizzly.http.util.HeaderValue IDENTITY>;
virtualinvoke v.<org.glassfish.grizzly.http.HttpHeader: void setHeader(org.glassfish.grizzly.http.util.Header,org.glassfish.grizzly.http.util.HeaderValue)>(v, v);
label:
virtualinvoke v.<org.glassfish.grizzly.http.io.OutputBuffer: void flush()>();
label:
goto label;
label:
v := @caughtexception;
if v == null goto label;
interfaceinvoke v.<org.glassfish.grizzly.CompletionHandler: void failed(java.lang.Throwable)>(v);
goto label;
label:
v = <org.glassfish.grizzly.http.io.OutputBuffer: java.util.logging.Logger LOGGER>;
v = <java.util.logging.Level: java.util.logging.Level SEVERE>;
v = virtualinvoke v.<java.util.logging.Logger: boolean isLoggable(java.util.logging.Level)>(v);
if v == 0 goto label;
v = <org.glassfish.grizzly.http.io.OutputBuffer: java.util.logging.Logger LOGGER>;
v = <java.util.logging.Level: java.util.logging.Level SEVERE>;
v = newarray (java.lang.Object)[2];
v = virtualinvoke v.<java.io.File: java.lang.String getAbsolutePath()>();
v[0] = v;
v = virtualinvoke v.<java.io.IOException: java.lang.String getMessage()>();
v[1] = v;
v = staticinvoke <java.lang.String: java.lang.String format(java.lang.String,java.lang.Object[])>("Failed to transfer file %s.  Cause: %s.", v);
virtualinvoke v.<java.util.logging.Logger: void log(java.util.logging.Level,java.lang.String,java.lang.Throwable)>(v, v, v);
label:
return;
label:
v = v.<org.glassfish.grizzly.http.io.OutputBuffer: org.glassfish.grizzly.filterchain.FilterChainContext ctx>;
virtualinvoke v.<org.glassfish.grizzly.filterchain.FilterChainContext: void write(java.lang.Object,org.glassfish.grizzly.CompletionHandler)>(v, v);
return;
catch java.io.IOException from label to label with label;
}
public void write(byte[], int, int) throws java.io.IOException
{
byte[] v;
org.glassfish.grizzly.memory.MemoryManager v;
org.glassfish.grizzly.http.io.OutputBuffer v;
org.glassfish.grizzly.memory.CompositeBuffer v, v, v, v;
java.lang.AssertionError v;
org.glassfish.grizzly.http.io.OutputBuffer$ByteArrayCloner v, v;
org.glassfish.grizzly.http.io.TemporaryHeapBuffer v, v, v;
int v, v, v, v;
boolean v, v, v, v;
org.glassfish.grizzly.Buffer v, v, v, v, v;
org.glassfish.grizzly.Connection v;
v := @this: org.glassfish.grizzly.http.io.OutputBuffer;
v := @parameter: byte[];
v := @parameter: int;
v := @parameter: int;
v = v.<org.glassfish.grizzly.http.io.OutputBuffer: org.glassfish.grizzly.Connection connection>;
interfaceinvoke v.<org.glassfish.grizzly.Connection: void assertOpen()>();
v = v.<org.glassfish.grizzly.http.io.OutputBuffer: boolean closed>;
if v != 0 goto label;
if v != 0 goto label;
label:
return;
label:
specialinvoke v.<org.glassfish.grizzly.http.io.OutputBuffer: void updateNonBlockingStatus()>();
v = specialinvoke v.<org.glassfish.grizzly.http.io.OutputBuffer: boolean writingChars()>();
if v == 0 goto label;
specialinvoke v.<org.glassfish.grizzly.http.io.OutputBuffer: void flushCharsToBuf(boolean)>(0);
label:
v = v.<org.glassfish.grizzly.http.io.OutputBuffer: int bufferSize>;
if v < v goto label;
v = v.<org.glassfish.grizzly.http.io.OutputBuffer: org.glassfish.grizzly.Buffer currentBuffer>;
if v == null goto label;
v = v.<org.glassfish.grizzly.http.io.OutputBuffer: org.glassfish.grizzly.Buffer currentBuffer>;
v = interfaceinvoke v.<org.glassfish.grizzly.Buffer: int remaining()>();
if v < v goto label;
label:
specialinvoke v.<org.glassfish.grizzly.http.io.OutputBuffer: void checkCurrentBuffer()>();
v = <org.glassfish.grizzly.http.io.OutputBuffer: boolean $assertionsDisabled>;
if v != 0 goto label;
v = v.<org.glassfish.grizzly.http.io.OutputBuffer: org.glassfish.grizzly.Buffer currentBuffer>;
if v != null goto label;
v = new java.lang.AssertionError;
specialinvoke v.<java.lang.AssertionError: void <init>()>();
throw v;
label:
v = v.<org.glassfish.grizzly.http.io.OutputBuffer: org.glassfish.grizzly.Buffer currentBuffer>;
interfaceinvoke v.<org.glassfish.grizzly.Buffer: org.glassfish.grizzly.Buffer put(byte[],int,int)>(v, v, v);
goto label;
label:
v = specialinvoke v.<org.glassfish.grizzly.http.io.OutputBuffer: boolean canWritePayloadChunk()>();
if v == 0 goto label;
v = v.<org.glassfish.grizzly.http.io.OutputBuffer: org.glassfish.grizzly.http.io.TemporaryHeapBuffer temporaryWriteBuffer>;
virtualinvoke v.<org.glassfish.grizzly.http.io.TemporaryHeapBuffer: void reset(byte[],int,int)>(v, v, v);
specialinvoke v.<org.glassfish.grizzly.http.io.OutputBuffer: void finishCurrentBuffer()>();
specialinvoke v.<org.glassfish.grizzly.http.io.OutputBuffer: boolean doCommit()>();
v = v.<org.glassfish.grizzly.http.io.OutputBuffer: org.glassfish.grizzly.memory.CompositeBuffer compositeBuffer>;
if v == null goto label;
v = v.<org.glassfish.grizzly.http.io.OutputBuffer: org.glassfish.grizzly.memory.CompositeBuffer compositeBuffer>;
v = v.<org.glassfish.grizzly.http.io.OutputBuffer: org.glassfish.grizzly.http.io.TemporaryHeapBuffer temporaryWriteBuffer>;
virtualinvoke v.<org.glassfish.grizzly.memory.CompositeBuffer: org.glassfish.grizzly.memory.CompositeBuffer append(org.glassfish.grizzly.Buffer)>(v);
v = v.<org.glassfish.grizzly.http.io.OutputBuffer: org.glassfish.grizzly.memory.CompositeBuffer compositeBuffer>;
v = v.<org.glassfish.grizzly.http.io.OutputBuffer: org.glassfish.grizzly.http.io.OutputBuffer$ByteArrayCloner cloner>;
specialinvoke v.<org.glassfish.grizzly.http.io.OutputBuffer: void flushBuffer(org.glassfish.grizzly.Buffer,boolean,org.glassfish.grizzly.asyncqueue.MessageCloner)>(v, 0, v);
v.<org.glassfish.grizzly.http.io.OutputBuffer: org.glassfish.grizzly.memory.CompositeBuffer compositeBuffer> = null;
goto label;
label:
v = v.<org.glassfish.grizzly.http.io.OutputBuffer: org.glassfish.grizzly.http.io.TemporaryHeapBuffer temporaryWriteBuffer>;
v = v.<org.glassfish.grizzly.http.io.OutputBuffer: org.glassfish.grizzly.http.io.OutputBuffer$ByteArrayCloner cloner>;
specialinvoke v.<org.glassfish.grizzly.http.io.OutputBuffer: void flushBuffer(org.glassfish.grizzly.Buffer,boolean,org.glassfish.grizzly.asyncqueue.MessageCloner)>(v, 0, v);
label:
specialinvoke v.<org.glassfish.grizzly.http.io.OutputBuffer: void blockAfterWriteIfNeeded()>();
goto label;
label:
specialinvoke v.<org.glassfish.grizzly.http.io.OutputBuffer: void finishCurrentBuffer()>();
v = v.<org.glassfish.grizzly.http.io.OutputBuffer: org.glassfish.grizzly.memory.MemoryManager memoryManager>;
v = interfaceinvoke v.<org.glassfish.grizzly.memory.MemoryManager: org.glassfish.grizzly.Buffer allocate(int)>(v);
interfaceinvoke v.<org.glassfish.grizzly.Buffer: org.glassfish.grizzly.Buffer put(byte[],int,int)>(v, v, v);
interfaceinvoke v.<org.glassfish.grizzly.Buffer: org.glassfish.grizzly.Buffer flip()>();
specialinvoke v.<org.glassfish.grizzly.http.io.OutputBuffer: void checkCompositeBuffer()>();
v = v.<org.glassfish.grizzly.http.io.OutputBuffer: org.glassfish.grizzly.memory.CompositeBuffer compositeBuffer>;
virtualinvoke v.<org.glassfish.grizzly.memory.CompositeBuffer: org.glassfish.grizzly.memory.CompositeBuffer append(org.glassfish.grizzly.Buffer)>(v);
label:
return;
}
public void close() throws java.io.IOException
{
org.glassfish.grizzly.http.io.OutputBuffer v;
org.glassfish.grizzly.Connection v;
boolean v, v, v, v;
org.glassfish.grizzly.http.HttpHeader v;
v := @this: org.glassfish.grizzly.http.io.OutputBuffer;
v = v.<org.glassfish.grizzly.http.io.OutputBuffer: boolean closed>;
if v == 0 goto label;
return;
label:
v.<org.glassfish.grizzly.http.io.OutputBuffer: boolean closed> = 1;
v = v.<org.glassfish.grizzly.http.io.OutputBuffer: org.glassfish.grizzly.Connection connection>;
interfaceinvoke v.<org.glassfish.grizzly.Connection: void assertOpen()>();
v = specialinvoke v.<org.glassfish.grizzly.http.io.OutputBuffer: boolean doCommit()>();
v = specialinvoke v.<org.glassfish.grizzly.http.io.OutputBuffer: boolean flushAllBuffers(boolean)>(1);
if v != 0 goto label;
if v != 0 goto label;
v = v.<org.glassfish.grizzly.http.io.OutputBuffer: org.glassfish.grizzly.http.HttpHeader outputHeader>;
v = virtualinvoke v.<org.glassfish.grizzly.http.HttpHeader: boolean isChunked()>();
if v == 0 goto label;
label:
specialinvoke v.<org.glassfish.grizzly.http.io.OutputBuffer: void forceCommitHeaders(boolean)>(1);
label:
specialinvoke v.<org.glassfish.grizzly.http.io.OutputBuffer: void blockAfterWriteIfNeeded()>();
return;
}
public void flush() throws java.io.IOException
{
org.glassfish.grizzly.http.io.OutputBuffer v;
org.glassfish.grizzly.Connection v;
boolean v, v;
v := @this: org.glassfish.grizzly.http.io.OutputBuffer;
v = v.<org.glassfish.grizzly.http.io.OutputBuffer: org.glassfish.grizzly.Connection connection>;
interfaceinvoke v.<org.glassfish.grizzly.Connection: void assertOpen()>();
v = specialinvoke v.<org.glassfish.grizzly.http.io.OutputBuffer: boolean doCommit()>();
v = specialinvoke v.<org.glassfish.grizzly.http.io.OutputBuffer: boolean flushAllBuffers(boolean)>(0);
if v != 0 goto label;
if v == 0 goto label;
specialinvoke v.<org.glassfish.grizzly.http.io.OutputBuffer: void forceCommitHeaders(boolean)>(0);
label:
specialinvoke v.<org.glassfish.grizzly.http.io.OutputBuffer: void blockAfterWriteIfNeeded()>();
return;
}
public void writeByteBuffer(java.nio.ByteBuffer) throws java.io.IOException
{
org.glassfish.grizzly.memory.MemoryManager v;
org.glassfish.grizzly.http.io.OutputBuffer v;
org.glassfish.grizzly.Buffer v;
java.nio.ByteBuffer v;
v := @this: org.glassfish.grizzly.http.io.OutputBuffer;
v := @parameter: java.nio.ByteBuffer;
v = v.<org.glassfish.grizzly.http.io.OutputBuffer: org.glassfish.grizzly.memory.MemoryManager memoryManager>;
v = staticinvoke <org.glassfish.grizzly.memory.Buffers: org.glassfish.grizzly.Buffer wrap(org.glassfish.grizzly.memory.MemoryManager,java.nio.ByteBuffer)>(v, v);
interfaceinvoke v.<org.glassfish.grizzly.Buffer: void allowBufferDispose(boolean)>(0);
virtualinvoke v.<org.glassfish.grizzly.http.io.OutputBuffer: void writeBuffer(org.glassfish.grizzly.Buffer)>(v);
return;
}
public void writeBuffer(org.glassfish.grizzly.Buffer) throws java.io.IOException
{
org.glassfish.grizzly.http.io.OutputBuffer v;
org.glassfish.grizzly.Buffer v;
org.glassfish.grizzly.memory.CompositeBuffer v, v;
int v, v;
org.glassfish.grizzly.Connection v;
boolean v;
v := @this: org.glassfish.grizzly.http.io.OutputBuffer;
v := @parameter: org.glassfish.grizzly.Buffer;
v = v.<org.glassfish.grizzly.http.io.OutputBuffer: org.glassfish.grizzly.Connection connection>;
interfaceinvoke v.<org.glassfish.grizzly.Connection: void assertOpen()>();
specialinvoke v.<org.glassfish.grizzly.http.io.OutputBuffer: void updateNonBlockingStatus()>();
specialinvoke v.<org.glassfish.grizzly.http.io.OutputBuffer: void finishCurrentBuffer()>();
specialinvoke v.<org.glassfish.grizzly.http.io.OutputBuffer: void checkCompositeBuffer()>();
v = v.<org.glassfish.grizzly.http.io.OutputBuffer: org.glassfish.grizzly.memory.CompositeBuffer compositeBuffer>;
virtualinvoke v.<org.glassfish.grizzly.memory.CompositeBuffer: org.glassfish.grizzly.memory.CompositeBuffer append(org.glassfish.grizzly.Buffer)>(v);
v = specialinvoke v.<org.glassfish.grizzly.http.io.OutputBuffer: boolean canWritePayloadChunk()>();
if v == 0 goto label;
v = v.<org.glassfish.grizzly.http.io.OutputBuffer: org.glassfish.grizzly.memory.CompositeBuffer compositeBuffer>;
v = virtualinvoke v.<org.glassfish.grizzly.memory.CompositeBuffer: int remaining()>();
v = v.<org.glassfish.grizzly.http.io.OutputBuffer: int bufferSize>;
if v <= v goto label;
virtualinvoke v.<org.glassfish.grizzly.http.io.OutputBuffer: void flush()>();
label:
return;
}
public boolean canWriteChar(int)
{
int v;
boolean v;
org.glassfish.grizzly.http.io.OutputBuffer v;
v := @this: org.glassfish.grizzly.http.io.OutputBuffer;
v := @parameter: int;
v = virtualinvoke v.<org.glassfish.grizzly.http.io.OutputBuffer: boolean canWrite()>();
return v;
}
public boolean canWrite(int)
{
int v;
boolean v;
org.glassfish.grizzly.http.io.OutputBuffer v;
v := @this: org.glassfish.grizzly.http.io.OutputBuffer;
v := @parameter: int;
v = virtualinvoke v.<org.glassfish.grizzly.http.io.OutputBuffer: boolean canWrite()>();
return v;
}
public boolean canWrite()
{
org.glassfish.grizzly.OutputSink v;
org.glassfish.grizzly.http.io.OutputBuffer v;
org.glassfish.grizzly.http.HttpContext v;
boolean v, v, v;
v := @this: org.glassfish.grizzly.http.io.OutputBuffer;
v = <org.glassfish.grizzly.http.io.OutputBuffer: boolean IS_BLOCKING>;
if v != 0 goto label;
v = v.<org.glassfish.grizzly.http.io.OutputBuffer: boolean isNonBlockingWriteGuaranteed>;
if v == 0 goto label;
label:
return 1;
label:
v = v.<org.glassfish.grizzly.http.io.OutputBuffer: org.glassfish.grizzly.http.HttpContext httpContext>;
v = virtualinvoke v.<org.glassfish.grizzly.http.HttpContext: org.glassfish.grizzly.OutputSink getOutputSink()>();
v = interfaceinvoke v.<org.glassfish.grizzly.OutputSink: boolean canWrite()>();
if v == 0 goto label;
v.<org.glassfish.grizzly.http.io.OutputBuffer: boolean isNonBlockingWriteGuaranteed> = 1;
return 1;
label:
return 0;
}
public void notifyCanWrite(org.glassfish.grizzly.WriteHandler, int)
{
int v;
org.glassfish.grizzly.WriteHandler v;
org.glassfish.grizzly.http.io.OutputBuffer v;
v := @this: org.glassfish.grizzly.http.io.OutputBuffer;
v := @parameter: org.glassfish.grizzly.WriteHandler;
v := @parameter: int;
virtualinvoke v.<org.glassfish.grizzly.http.io.OutputBuffer: void notifyCanWrite(org.glassfish.grizzly.WriteHandler)>(v);
return;
}
public void notifyCanWrite(org.glassfish.grizzly.WriteHandler)
{
java.lang.IllegalStateException v;
org.glassfish.grizzly.http.io.OutputBuffer v;
java.lang.AssertionError v;
org.glassfish.grizzly.http.HttpContext v, v;
java.util.logging.Level v, v;
org.glassfish.grizzly.OutputSink v;
boolean v, v, v, v, v, v;
java.io.IOException v, v;
java.util.logging.Logger v, v;
org.glassfish.grizzly.Writer$Reentrant v;
java.lang.Exception v;
org.glassfish.grizzly.Closeable v;
org.glassfish.grizzly.Connection v;
org.glassfish.grizzly.CloseReason v, v, v;
org.glassfish.grizzly.WriteHandler v, v;
org.glassfish.grizzly.http.io.OutputBuffer$InternalWriteHandler v, v, v;
v := @this: org.glassfish.grizzly.http.io.OutputBuffer;
v := @parameter: org.glassfish.grizzly.WriteHandler;
v = v.<org.glassfish.grizzly.http.io.OutputBuffer: org.glassfish.grizzly.WriteHandler handler>;
if v == null goto label;
v = new java.lang.IllegalStateException;
specialinvoke v.<java.lang.IllegalStateException: void <init>(java.lang.String)>("Illegal attempt to set a new handler before the existing handler has been notified.");
throw v;
label:
if v == null goto label;
v = v.<org.glassfish.grizzly.http.io.OutputBuffer: org.glassfish.grizzly.http.HttpContext httpContext>;
v = virtualinvoke v.<org.glassfish.grizzly.http.HttpContext: org.glassfish.grizzly.Closeable getCloseable()>();
v = interfaceinvoke v.<org.glassfish.grizzly.Closeable: boolean isOpen()>();
if v != 0 goto label;
v = v.<org.glassfish.grizzly.http.io.OutputBuffer: org.glassfish.grizzly.Connection connection>;
v = interfaceinvoke v.<org.glassfish.grizzly.Connection: org.glassfish.grizzly.CloseReason getCloseReason()>();
if v != null goto label;
v = <org.glassfish.grizzly.http.io.OutputBuffer: java.util.logging.Logger LOGGER>;
v = <java.util.logging.Level: java.util.logging.Level WARNING>;
v = <org.glassfish.grizzly.CloseReason: org.glassfish.grizzly.CloseReason LOCALLY_CLOSED_REASON>;
virtualinvoke v.<java.util.logging.Logger: void log(java.util.logging.Level,java.lang.String,java.lang.Object)>(v, "No close reason set, using default: {0}", v);
v = <org.glassfish.grizzly.CloseReason: org.glassfish.grizzly.CloseReason LOCALLY_CLOSED_REASON>;
v = virtualinvoke v.<org.glassfish.grizzly.CloseReason: java.io.IOException getCause()>();
interfaceinvoke v.<org.glassfish.grizzly.WriteHandler: void onError(java.lang.Throwable)>(v);
goto label;
label:
v = virtualinvoke v.<org.glassfish.grizzly.CloseReason: java.io.IOException getCause()>();
interfaceinvoke v.<org.glassfish.grizzly.WriteHandler: void onError(java.lang.Throwable)>(v);
label:
return;
label:
v.<org.glassfish.grizzly.http.io.OutputBuffer: org.glassfish.grizzly.WriteHandler handler> = v;
v = v.<org.glassfish.grizzly.http.io.OutputBuffer: boolean isNonBlockingWriteGuaranteed>;
if v != 0 goto label;
v = virtualinvoke v.<org.glassfish.grizzly.http.io.OutputBuffer: boolean canWrite()>();
if v == 0 goto label;
label:
v = staticinvoke <org.glassfish.grizzly.Writer$Reentrant: org.glassfish.grizzly.Writer$Reentrant getWriteReentrant()>();
v = virtualinvoke v.<org.glassfish.grizzly.Writer$Reentrant: boolean isMaxReentrantsReached()>();
if v == 0 goto label;
specialinvoke v.<org.glassfish.grizzly.http.io.OutputBuffer: void notifyWritePossibleAsync()>();
goto label;
label:
specialinvoke v.<org.glassfish.grizzly.http.io.OutputBuffer: void notifyWritePossible()>();
label:
return;
label:
v = <org.glassfish.grizzly.http.io.OutputBuffer: boolean $assertionsDisabled>;
if v != 0 goto label;
v = <org.glassfish.grizzly.http.io.OutputBuffer: boolean IS_BLOCKING>;
if v == 0 goto label;
v = new java.lang.AssertionError;
specialinvoke v.<java.lang.AssertionError: void <init>()>();
throw v;
label:
v = v.<org.glassfish.grizzly.http.io.OutputBuffer: org.glassfish.grizzly.http.io.OutputBuffer$InternalWriteHandler asyncWriteHandler>;
if v != null goto label;
v = new org.glassfish.grizzly.http.io.OutputBuffer$InternalWriteHandler;
specialinvoke v.<org.glassfish.grizzly.http.io.OutputBuffer$InternalWriteHandler: void <init>(org.glassfish.grizzly.http.io.OutputBuffer)>(v);
v.<org.glassfish.grizzly.http.io.OutputBuffer: org.glassfish.grizzly.http.io.OutputBuffer$InternalWriteHandler asyncWriteHandler> = v;
label:
v = v.<org.glassfish.grizzly.http.io.OutputBuffer: org.glassfish.grizzly.http.HttpContext httpContext>;
v = virtualinvoke v.<org.glassfish.grizzly.http.HttpContext: org.glassfish.grizzly.OutputSink getOutputSink()>();
v = v.<org.glassfish.grizzly.http.io.OutputBuffer: org.glassfish.grizzly.http.io.OutputBuffer$InternalWriteHandler asyncWriteHandler>;
interfaceinvoke v.<org.glassfish.grizzly.OutputSink: void notifyCanWrite(org.glassfish.grizzly.WriteHandler)>(v);
label:
goto label;
label:
v := @caughtexception;
v = <org.glassfish.grizzly.http.io.OutputBuffer: java.util.logging.Logger LOGGER>;
v = <java.util.logging.Level: java.util.logging.Level FINE>;
virtualinvoke v.<java.util.logging.Logger: void log(java.util.logging.Level,java.lang.String,java.lang.Throwable)>(v, "Ignoring exception.", v);
label:
return;
catch java.lang.Exception from label to label with label;
}
public void setTrailers(java.util.function.Supplier)
{
java.util.function.Supplier v;
org.glassfish.grizzly.http.io.OutputBuffer v;
v := @this: org.glassfish.grizzly.http.io.OutputBuffer;
v := @parameter: java.util.function.Supplier;
v.<org.glassfish.grizzly.http.io.OutputBuffer: java.util.function.Supplier trailersSupplier> = v;
return;
}
public java.util.function.Supplier getTrailers()
{
java.util.function.Supplier v;
org.glassfish.grizzly.http.io.OutputBuffer v;
v := @this: org.glassfish.grizzly.http.io.OutputBuffer;
v = v.<org.glassfish.grizzly.http.io.OutputBuffer: java.util.function.Supplier trailersSupplier>;
return v;
}
protected java.util.concurrent.Executor getThreadPool()
{
org.glassfish.grizzly.Transport v;
org.glassfish.grizzly.http.io.OutputBuffer v;
org.glassfish.grizzly.Connection v;
java.util.concurrent.ExecutorService v, v;
boolean v, v;
v := @this: org.glassfish.grizzly.http.io.OutputBuffer;
v = staticinvoke <org.glassfish.grizzly.threadpool.Threads: boolean isService()>();
if v != 0 goto label;
return null;
label:
v = v.<org.glassfish.grizzly.http.io.OutputBuffer: org.glassfish.grizzly.Connection connection>;
v = interfaceinvoke v.<org.glassfish.grizzly.Connection: org.glassfish.grizzly.Transport getTransport()>();
v = interfaceinvoke v.<org.glassfish.grizzly.Transport: java.util.concurrent.ExecutorService getWorkerThreadPool()>();
if v == null goto label;
v = interfaceinvoke v.<java.util.concurrent.ExecutorService: boolean isShutdown()>();
if v != 0 goto label;
v = v;
goto label;
label:
v = null;
label:
return v;
}
private void notifyWritePossibleAsync()
{
org.glassfish.grizzly.http.io.OutputBuffer$1 v;
org.glassfish.grizzly.http.io.OutputBuffer v;
org.glassfish.grizzly.Connection v;
java.lang.Runnable v, v;
org.glassfish.grizzly.IOEvent v;
v := @this: org.glassfish.grizzly.http.io.OutputBuffer;
v = v.<org.glassfish.grizzly.http.io.OutputBuffer: java.lang.Runnable writePossibleRunnable>;
if v != null goto label;
v = new org.glassfish.grizzly.http.io.OutputBuffer$1;
specialinvoke v.<org.glassfish.grizzly.http.io.OutputBuffer$1: void <init>(org.glassfish.grizzly.http.io.OutputBuffer)>(v);
v.<org.glassfish.grizzly.http.io.OutputBuffer: java.lang.Runnable writePossibleRunnable> = v;
label:
v = v.<org.glassfish.grizzly.http.io.OutputBuffer: org.glassfish.grizzly.Connection connection>;
v = <org.glassfish.grizzly.IOEvent: org.glassfish.grizzly.IOEvent WRITE>;
v = v.<org.glassfish.grizzly.http.io.OutputBuffer: java.lang.Runnable writePossibleRunnable>;
interfaceinvoke v.<org.glassfish.grizzly.Connection: void executeInEventThread(org.glassfish.grizzly.IOEvent,java.lang.Runnable)>(v, v);
return;
}
private void notifyWritePossible()
{
java.lang.Throwable v, v;
org.glassfish.grizzly.http.io.OutputBuffer v;
org.glassfish.grizzly.WriteHandler v;
org.glassfish.grizzly.Writer$Reentrant v;
v := @this: org.glassfish.grizzly.http.io.OutputBuffer;
v = v.<org.glassfish.grizzly.http.io.OutputBuffer: org.glassfish.grizzly.WriteHandler handler>;
if v == null goto label;
v = staticinvoke <org.glassfish.grizzly.Writer$Reentrant: org.glassfish.grizzly.Writer$Reentrant getWriteReentrant()>();
label:
v.<org.glassfish.grizzly.http.io.OutputBuffer: org.glassfish.grizzly.WriteHandler handler> = null;
virtualinvoke v.<org.glassfish.grizzly.Writer$Reentrant: boolean inc()>();
v.<org.glassfish.grizzly.http.io.OutputBuffer: boolean isNonBlockingWriteGuaranteed> = 1;
interfaceinvoke v.<org.glassfish.grizzly.WriteHandler: void onWritePossible()>();
label:
virtualinvoke v.<org.glassfish.grizzly.Writer$Reentrant: boolean dec()>();
goto label;
label:
v := @caughtexception;
interfaceinvoke v.<org.glassfish.grizzly.WriteHandler: void onError(java.lang.Throwable)>(v);
label:
virtualinvoke v.<org.glassfish.grizzly.Writer$Reentrant: boolean dec()>();
goto label;
label:
v := @caughtexception;
virtualinvoke v.<org.glassfish.grizzly.Writer$Reentrant: boolean dec()>();
throw v;
label:
return;
catch java.lang.Throwable from label to label with label;
catch java.lang.Throwable from label to label with label;
}
private boolean canWritePayloadChunk()
{
byte v;
org.glassfish.grizzly.http.io.OutputBuffer v;
long v;
boolean v, v;
org.glassfish.grizzly.http.HttpHeader v, v;
v := @this: org.glassfish.grizzly.http.io.OutputBuffer;
v = v.<org.glassfish.grizzly.http.io.OutputBuffer: org.glassfish.grizzly.http.HttpHeader outputHeader>;
v = virtualinvoke v.<org.glassfish.grizzly.http.HttpHeader: boolean isChunkingAllowed()>();
if v != 0 goto label;
v = v.<org.glassfish.grizzly.http.io.OutputBuffer: org.glassfish.grizzly.http.HttpHeader outputHeader>;
v = virtualinvoke v.<org.glassfish.grizzly.http.HttpHeader: long getContentLength()>();
v = v cmp -1L;
if v == 0 goto label;
label:
v = 1;
goto label;
label:
v = 0;
label:
return v;
}
private void blockAfterWriteIfNeeded() throws java.io.IOException
{
java.lang.Throwable v;
org.glassfish.grizzly.http.io.OutputBuffer v;
java.util.concurrent.TimeoutException v;
long v;
org.glassfish.grizzly.http.HttpContext v, v, v, v, v;
org.glassfish.grizzly.OutputSink v, v;
byte v;
boolean v, v, v, v;
java.io.IOException v, v, v;
java.lang.Exception v;
org.glassfish.grizzly.http.io.OutputBuffer$2 v;
java.util.concurrent.ExecutionException v;
java.util.concurrent.TimeUnit v, v;
org.glassfish.grizzly.Connection v;
org.glassfish.grizzly.impl.FutureImpl v;
v := @this: org.glassfish.grizzly.http.io.OutputBuffer;
v = <org.glassfish.grizzly.http.io.OutputBuffer: boolean IS_BLOCKING>;
if v != 0 goto label;
v = v.<org.glassfish.grizzly.http.io.OutputBuffer: boolean isNonBlockingWriteGuaranteed>;
if v != 0 goto label;
v = v.<org.glassfish.grizzly.http.io.OutputBuffer: boolean isLastWriteNonBlocking>;
if v == 0 goto label;
label:
return;
label:
v = v.<org.glassfish.grizzly.http.io.OutputBuffer: org.glassfish.grizzly.http.HttpContext httpContext>;
v = virtualinvoke v.<org.glassfish.grizzly.http.HttpContext: org.glassfish.grizzly.OutputSink getOutputSink()>();
v = interfaceinvoke v.<org.glassfish.grizzly.OutputSink: boolean canWrite()>();
if v == 0 goto label;
return;
label:
v = staticinvoke <org.glassfish.grizzly.utils.Futures: org.glassfish.grizzly.impl.FutureImpl createSafeFuture()>();
v = v.<org.glassfish.grizzly.http.io.OutputBuffer: org.glassfish.grizzly.http.HttpContext httpContext>;
v = virtualinvoke v.<org.glassfish.grizzly.http.HttpContext: org.glassfish.grizzly.OutputSink getOutputSink()>();
v = new org.glassfish.grizzly.http.io.OutputBuffer$2;
specialinvoke v.<org.glassfish.grizzly.http.io.OutputBuffer$2: void <init>(org.glassfish.grizzly.http.io.OutputBuffer,org.glassfish.grizzly.impl.FutureImpl)>(v, v);
interfaceinvoke v.<org.glassfish.grizzly.OutputSink: void notifyCanWrite(org.glassfish.grizzly.WriteHandler)>(v);
label:
v = v.<org.glassfish.grizzly.http.io.OutputBuffer: org.glassfish.grizzly.Connection connection>;
v = <java.util.concurrent.TimeUnit: java.util.concurrent.TimeUnit MILLISECONDS>;
v = interfaceinvoke v.<org.glassfish.grizzly.Connection: long getWriteTimeout(java.util.concurrent.TimeUnit)>(v);
v = v cmp 0L;
if v < 0 goto label;
v = <java.util.concurrent.TimeUnit: java.util.concurrent.TimeUnit MILLISECONDS>;
interfaceinvoke v.<org.glassfish.grizzly.impl.FutureImpl: java.lang.Object get(long,java.util.concurrent.TimeUnit)>(v, v);
goto label;
label:
interfaceinvoke v.<org.glassfish.grizzly.impl.FutureImpl: java.lang.Object get()>();
label:
goto label;
label:
v := @caughtexception;
v = v.<org.glassfish.grizzly.http.io.OutputBuffer: org.glassfish.grizzly.http.HttpContext httpContext>;
virtualinvoke v.<org.glassfish.grizzly.http.HttpContext: void close()>();
v = virtualinvoke v.<java.util.concurrent.ExecutionException: java.lang.Throwable getCause()>();
v = staticinvoke <org.glassfish.grizzly.utils.Exceptions: java.io.IOException makeIOException(java.lang.Throwable)>(v);
throw v;
label:
v := @caughtexception;
v = v.<org.glassfish.grizzly.http.io.OutputBuffer: org.glassfish.grizzly.http.HttpContext httpContext>;
virtualinvoke v.<org.glassfish.grizzly.http.HttpContext: void close()>();
v = new java.io.IOException;
specialinvoke v.<java.io.IOException: void <init>(java.lang.String)>("Write timeout exceeded when trying to flush the data");
throw v;
label:
v := @caughtexception;
v = v.<org.glassfish.grizzly.http.io.OutputBuffer: org.glassfish.grizzly.http.HttpContext httpContext>;
virtualinvoke v.<org.glassfish.grizzly.http.HttpContext: void close()>();
v = staticinvoke <org.glassfish.grizzly.utils.Exceptions: java.io.IOException makeIOException(java.lang.Throwable)>(v);
throw v;
label:
return;
catch java.util.concurrent.ExecutionException from label to label with label;
catch java.util.concurrent.TimeoutException from label to label with label;
catch java.lang.Exception from label to label with label;
}
private boolean flushAllBuffers(boolean) throws java.io.IOException
{
org.glassfish.grizzly.http.io.OutputBuffer v;
int v;
boolean v, v;
v := @this: org.glassfish.grizzly.http.io.OutputBuffer;
v := @parameter: boolean;
v = v.<org.glassfish.grizzly.http.io.OutputBuffer: int charsArrayLength>;
if v <= 0 goto label;
specialinvoke v.<org.glassfish.grizzly.http.io.OutputBuffer: void flushCharsToBuf(boolean)>(0);
label:
v = specialinvoke v.<org.glassfish.grizzly.http.io.OutputBuffer: boolean flushBinaryBuffers(boolean)>(v);
return v;
}
private boolean flushBinaryBuffers(boolean) throws java.io.IOException
{
org.glassfish.grizzly.http.io.OutputBuffer v;
org.glassfish.grizzly.memory.CompositeBuffer v, v;
long v;
byte v;
int v, v;
boolean v, v, v, v;
org.glassfish.grizzly.Buffer v, v, v, v;
org.glassfish.grizzly.http.HttpHeader v, v, v;
v := @this: org.glassfish.grizzly.http.io.OutputBuffer;
v := @parameter: boolean;
v = v.<org.glassfish.grizzly.http.io.OutputBuffer: org.glassfish.grizzly.http.HttpHeader outputHeader>;
v = virtualinvoke v.<org.glassfish.grizzly.http.HttpHeader: boolean isChunkingAllowed()>();
if v != 0 goto label;
v = v.<org.glassfish.grizzly.http.io.OutputBuffer: org.glassfish.grizzly.http.HttpHeader outputHeader>;
v = virtualinvoke v.<org.glassfish.grizzly.http.HttpHeader: long getContentLength()>();
v = v cmp -1L;
if v != 0 goto label;
if v != 0 goto label;
return 0;
label:
v = v.<org.glassfish.grizzly.http.io.OutputBuffer: org.glassfish.grizzly.http.HttpHeader outputHeader>;
v = virtualinvoke v.<org.glassfish.grizzly.http.io.OutputBuffer: int getBufferedDataSize()>();
virtualinvoke v.<org.glassfish.grizzly.http.HttpHeader: void setContentLength(int)>(v);
label:
v = v.<org.glassfish.grizzly.http.io.OutputBuffer: org.glassfish.grizzly.memory.CompositeBuffer compositeBuffer>;
if v == null goto label;
v = v.<org.glassfish.grizzly.http.io.OutputBuffer: org.glassfish.grizzly.memory.CompositeBuffer compositeBuffer>;
v = virtualinvoke v.<org.glassfish.grizzly.memory.CompositeBuffer: boolean hasRemaining()>();
if v == 0 goto label;
v = 1;
goto label;
label:
v = 0;
label:
if v == 0 goto label;
specialinvoke v.<org.glassfish.grizzly.http.io.OutputBuffer: void finishCurrentBuffer()>();
v = v.<org.glassfish.grizzly.http.io.OutputBuffer: org.glassfish.grizzly.memory.CompositeBuffer compositeBuffer>;
v.<org.glassfish.grizzly.http.io.OutputBuffer: org.glassfish.grizzly.memory.CompositeBuffer compositeBuffer> = null;
goto label;
label:
v = v.<org.glassfish.grizzly.http.io.OutputBuffer: org.glassfish.grizzly.Buffer currentBuffer>;
if v == null goto label;
v = v.<org.glassfish.grizzly.http.io.OutputBuffer: org.glassfish.grizzly.Buffer currentBuffer>;
v = interfaceinvoke v.<org.glassfish.grizzly.Buffer: int position()>();
if v <= 0 goto label;
v = v.<org.glassfish.grizzly.http.io.OutputBuffer: org.glassfish.grizzly.Buffer currentBuffer>;
interfaceinvoke v.<org.glassfish.grizzly.Buffer: void trim()>();
v = v.<org.glassfish.grizzly.http.io.OutputBuffer: org.glassfish.grizzly.Buffer currentBuffer>;
v.<org.glassfish.grizzly.http.io.OutputBuffer: org.glassfish.grizzly.Buffer currentBuffer> = null;
goto label;
label:
v = null;
label:
if v != null goto label;
if v == 0 goto label;
label:
specialinvoke v.<org.glassfish.grizzly.http.io.OutputBuffer: boolean doCommit()>();
specialinvoke v.<org.glassfish.grizzly.http.io.OutputBuffer: void flushBuffer(org.glassfish.grizzly.Buffer,boolean,org.glassfish.grizzly.asyncqueue.MessageCloner)>(v, v, null);
return 1;
label:
return 0;
}
private void flushBuffer(org.glassfish.grizzly.Buffer, boolean, org.glassfish.grizzly.asyncqueue.MessageCloner) throws java.io.IOException
{
org.glassfish.grizzly.http.Protocol v, v;
org.glassfish.grizzly.http.io.OutputBuffer v;
java.util.function.Supplier v, v;
org.glassfish.grizzly.filterchain.FilterChainContext v;
org.glassfish.grizzly.http.HttpContent v;
org.glassfish.grizzly.asyncqueue.MessageCloner v;
boolean v, v, v, v, v, v;
java.util.Iterator v;
java.util.Set v;
org.glassfish.grizzly.Buffer v;
org.glassfish.grizzly.http.HttpContent$Builder v, v, v, v, v;
java.lang.Object v, v, v, v;
org.glassfish.grizzly.http.HttpTrailer$Builder v;
org.glassfish.grizzly.http.HttpHeader v, v, v;
v := @this: org.glassfish.grizzly.http.io.OutputBuffer;
v := @parameter: org.glassfish.grizzly.Buffer;
v := @parameter: boolean;
v := @parameter: org.glassfish.grizzly.asyncqueue.MessageCloner;
if v == 0 goto label;
v = v.<org.glassfish.grizzly.http.io.OutputBuffer: java.util.function.Supplier trailersSupplier>;
if v == null goto label;
v = v.<org.glassfish.grizzly.http.io.OutputBuffer: org.glassfish.grizzly.http.HttpHeader outputHeader>;
v = virtualinvoke v.<org.glassfish.grizzly.http.HttpHeader: boolean isChunked()>();
if v != 0 goto label;
v = v.<org.glassfish.grizzly.http.io.OutputBuffer: org.glassfish.grizzly.http.HttpHeader outputHeader>;
v = virtualinvoke v.<org.glassfish.grizzly.http.HttpHeader: org.glassfish.grizzly.http.Protocol getProtocol()>();
v = <org.glassfish.grizzly.http.Protocol: org.glassfish.grizzly.http.Protocol HTTP_2_0>;
v = virtualinvoke v.<org.glassfish.grizzly.http.Protocol: boolean equals(java.lang.Object)>(v);
if v == 0 goto label;
label:
specialinvoke v.<org.glassfish.grizzly.http.io.OutputBuffer: void forceCommitHeaders(boolean)>(0);
v = v.<org.glassfish.grizzly.http.io.OutputBuffer: org.glassfish.grizzly.http.HttpHeader outputHeader>;
v = virtualinvoke v.<org.glassfish.grizzly.http.HttpHeader: org.glassfish.grizzly.http.HttpTrailer$Builder httpTrailerBuilder()>();
v = virtualinvoke v.<org.glassfish.grizzly.http.HttpTrailer$Builder: org.glassfish.grizzly.http.HttpContent$Builder content(org.glassfish.grizzly.Buffer)>(v);
v = virtualinvoke v.<org.glassfish.grizzly.http.HttpTrailer$Builder: org.glassfish.grizzly.http.HttpContent$Builder last(boolean)>(1);
v = v.<org.glassfish.grizzly.http.io.OutputBuffer: java.util.function.Supplier trailersSupplier>;
v = interfaceinvoke v.<java.util.function.Supplier: java.lang.Object get()>();
if v == null goto label;
v = interfaceinvoke v.<java.util.Map: boolean isEmpty()>();
if v != 0 goto label;
v = interfaceinvoke v.<java.util.Map: java.util.Set entrySet()>();
v = interfaceinvoke v.<java.util.Set: java.util.Iterator iterator()>();
label:
v = interfaceinvoke v.<java.util.Iterator: boolean hasNext()>();
if v == 0 goto label;
v = interfaceinvoke v.<java.util.Iterator: java.lang.Object next()>();
v = interfaceinvoke v.<java.util.Map$Entry: java.lang.Object getKey()>();
v = interfaceinvoke v.<java.util.Map$Entry: java.lang.Object getValue()>();
virtualinvoke v.<org.glassfish.grizzly.http.HttpTrailer$Builder: org.glassfish.grizzly.http.HttpTrailer$Builder header(java.lang.String,java.lang.String)>(v, v);
goto label;
label:
v = virtualinvoke v.<org.glassfish.grizzly.http.HttpTrailer$Builder: org.glassfish.grizzly.http.HttpTrailer build()>();
goto label;
label:
v = v.<org.glassfish.grizzly.http.io.OutputBuffer: org.glassfish.grizzly.http.HttpContent$Builder builder>;
v = virtualinvoke v.<org.glassfish.grizzly.http.HttpContent$Builder: org.glassfish.grizzly.http.HttpContent$Builder content(org.glassfish.grizzly.Buffer)>(v);
v = virtualinvoke v.<org.glassfish.grizzly.http.HttpContent$Builder: org.glassfish.grizzly.http.HttpContent$Builder last(boolean)>(v);
v = virtualinvoke v.<org.glassfish.grizzly.http.HttpContent$Builder: org.glassfish.grizzly.http.HttpContent build()>();
label:
v = v.<org.glassfish.grizzly.http.io.OutputBuffer: org.glassfish.grizzly.filterchain.FilterChainContext ctx>;
v = <org.glassfish.grizzly.http.io.OutputBuffer: boolean IS_BLOCKING>;
virtualinvoke v.<org.glassfish.grizzly.filterchain.FilterChainContext: void write(java.lang.Object,java.lang.Object,org.glassfish.grizzly.CompletionHandler,org.glassfish.grizzly.asyncqueue.MessageCloner,boolean)>(null, v, null, v, v);
return;
}
private void checkCharBuffer()
{
java.nio.CharBuffer v;
org.glassfish.grizzly.http.io.OutputBuffer v;
int v;
char[] v, v, v;
v := @this: org.glassfish.grizzly.http.io.OutputBuffer;
v = v.<org.glassfish.grizzly.http.io.OutputBuffer: char[] charsArray>;
if v != null goto label;
v = v.<org.glassfish.grizzly.http.io.OutputBuffer: int bufferSize>;
v = newarray (char)[v];
v.<org.glassfish.grizzly.http.io.OutputBuffer: char[] charsArray> = v;
v = v.<org.glassfish.grizzly.http.io.OutputBuffer: char[] charsArray>;
v = staticinvoke <java.nio.CharBuffer: java.nio.CharBuffer wrap(char[])>(v);
v.<org.glassfish.grizzly.http.io.OutputBuffer: java.nio.CharBuffer charsBuffer> = v;
label:
return;
}
private boolean writingChars()
{
org.glassfish.grizzly.http.io.OutputBuffer v;
int v;
char[] v;
boolean v;
v := @this: org.glassfish.grizzly.http.io.OutputBuffer;
v = v.<org.glassfish.grizzly.http.io.OutputBuffer: char[] charsArray>;
if v == null goto label;
v = v.<org.glassfish.grizzly.http.io.OutputBuffer: int charsArrayLength>;
if v <= 0 goto label;
v = 1;
goto label;
label:
v = 0;
label:
return v;
}
private boolean writingBytes()
{
org.glassfish.grizzly.http.io.OutputBuffer v;
int v;
org.glassfish.grizzly.Buffer v, v;
boolean v;
v := @this: org.glassfish.grizzly.http.io.OutputBuffer;
v = v.<org.glassfish.grizzly.http.io.OutputBuffer: org.glassfish.grizzly.Buffer currentBuffer>;
if v == null goto label;
v = v.<org.glassfish.grizzly.http.io.OutputBuffer: org.glassfish.grizzly.Buffer currentBuffer>;
v = interfaceinvoke v.<org.glassfish.grizzly.Buffer: int position()>();
if v == 0 goto label;
v = 1;
goto label;
label:
v = 0;
label:
return v;
}
private void checkCurrentBuffer()
{
org.glassfish.grizzly.memory.MemoryManager v;
org.glassfish.grizzly.http.io.OutputBuffer v;
int v;
org.glassfish.grizzly.Buffer v, v, v;
v := @this: org.glassfish.grizzly.http.io.OutputBuffer;
v = v.<org.glassfish.grizzly.http.io.OutputBuffer: org.glassfish.grizzly.Buffer currentBuffer>;
if v != null goto label;
v = v.<org.glassfish.grizzly.http.io.OutputBuffer: org.glassfish.grizzly.memory.MemoryManager memoryManager>;
v = v.<org.glassfish.grizzly.http.io.OutputBuffer: int bufferSize>;
v = interfaceinvoke v.<org.glassfish.grizzly.memory.MemoryManager: org.glassfish.grizzly.Buffer allocate(int)>(v);
v.<org.glassfish.grizzly.http.io.OutputBuffer: org.glassfish.grizzly.Buffer currentBuffer> = v;
v = v.<org.glassfish.grizzly.http.io.OutputBuffer: org.glassfish.grizzly.Buffer currentBuffer>;
interfaceinvoke v.<org.glassfish.grizzly.Buffer: void allowBufferDispose(boolean)>(1);
label:
return;
}
private void finishCurrentBuffer()
{
org.glassfish.grizzly.http.io.OutputBuffer v;
int v;
org.glassfish.grizzly.Buffer v, v, v, v;
org.glassfish.grizzly.memory.CompositeBuffer v;
v := @this: org.glassfish.grizzly.http.io.OutputBuffer;
v = v.<org.glassfish.grizzly.http.io.OutputBuffer: org.glassfish.grizzly.Buffer currentBuffer>;
if v == null goto label;
v = v.<org.glassfish.grizzly.http.io.OutputBuffer: org.glassfish.grizzly.Buffer currentBuffer>;
v = interfaceinvoke v.<org.glassfish.grizzly.Buffer: int position()>();
if v <= 0 goto label;
v = v.<org.glassfish.grizzly.http.io.OutputBuffer: org.glassfish.grizzly.Buffer currentBuffer>;
interfaceinvoke v.<org.glassfish.grizzly.Buffer: void trim()>();
specialinvoke v.<org.glassfish.grizzly.http.io.OutputBuffer: void checkCompositeBuffer()>();
v = v.<org.glassfish.grizzly.http.io.OutputBuffer: org.glassfish.grizzly.memory.CompositeBuffer compositeBuffer>;
v = v.<org.glassfish.grizzly.http.io.OutputBuffer: org.glassfish.grizzly.Buffer currentBuffer>;
virtualinvoke v.<org.glassfish.grizzly.memory.CompositeBuffer: org.glassfish.grizzly.memory.CompositeBuffer append(org.glassfish.grizzly.Buffer)>(v);
v.<org.glassfish.grizzly.http.io.OutputBuffer: org.glassfish.grizzly.Buffer currentBuffer> = null;
label:
return;
}
private java.nio.charset.CharsetEncoder getEncoder()
{
org.glassfish.grizzly.http.io.OutputBuffer v;
java.nio.charset.Charset v;
java.nio.charset.CodingErrorAction v, v;
java.util.Map v, v;
java.lang.String v;
java.nio.charset.CharsetEncoder v, v, v, v, v, v, v, v;
java.lang.Object v;
org.glassfish.grizzly.http.HttpHeader v;
v := @this: org.glassfish.grizzly.http.io.OutputBuffer;
v = v.<org.glassfish.grizzly.http.io.OutputBuffer: java.nio.charset.CharsetEncoder encoder>;
if v != null goto label;
v = v.<org.glassfish.grizzly.http.io.OutputBuffer: org.glassfish.grizzly.http.HttpHeader outputHeader>;
v = virtualinvoke v.<org.glassfish.grizzly.http.HttpHeader: java.lang.String getCharacterEncoding()>();
if v != null goto label;
v = <org.glassfish.grizzly.http.util.Constants: java.lang.String DEFAULT_HTTP_CHARACTER_ENCODING>;
label:
v = v.<org.glassfish.grizzly.http.io.OutputBuffer: java.util.Map encoders>;
v = interfaceinvoke v.<java.util.Map: java.lang.Object get(java.lang.Object)>(v);
v.<org.glassfish.grizzly.http.io.OutputBuffer: java.nio.charset.CharsetEncoder encoder> = v;
v = v.<org.glassfish.grizzly.http.io.OutputBuffer: java.nio.charset.CharsetEncoder encoder>;
if v != null goto label;
v = staticinvoke <org.glassfish.grizzly.utils.Charsets: java.nio.charset.Charset lookupCharset(java.lang.String)>(v);
v = virtualinvoke v.<java.nio.charset.Charset: java.nio.charset.CharsetEncoder newEncoder()>();
v.<org.glassfish.grizzly.http.io.OutputBuffer: java.nio.charset.CharsetEncoder encoder> = v;
v = v.<org.glassfish.grizzly.http.io.OutputBuffer: java.nio.charset.CharsetEncoder encoder>;
v = <java.nio.charset.CodingErrorAction: java.nio.charset.CodingErrorAction REPLACE>;
virtualinvoke v.<java.nio.charset.CharsetEncoder: java.nio.charset.CharsetEncoder onMalformedInput(java.nio.charset.CodingErrorAction)>(v);
v = v.<org.glassfish.grizzly.http.io.OutputBuffer: java.nio.charset.CharsetEncoder encoder>;
v = <java.nio.charset.CodingErrorAction: java.nio.charset.CodingErrorAction REPLACE>;
virtualinvoke v.<java.nio.charset.CharsetEncoder: java.nio.charset.CharsetEncoder onUnmappableCharacter(java.nio.charset.CodingErrorAction)>(v);
v = v.<org.glassfish.grizzly.http.io.OutputBuffer: java.util.Map encoders>;
v = v.<org.glassfish.grizzly.http.io.OutputBuffer: java.nio.charset.CharsetEncoder encoder>;
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>(v, v);
goto label;
label:
v = v.<org.glassfish.grizzly.http.io.OutputBuffer: java.nio.charset.CharsetEncoder encoder>;
virtualinvoke v.<java.nio.charset.CharsetEncoder: java.nio.charset.CharsetEncoder reset()>();
label:
v = v.<org.glassfish.grizzly.http.io.OutputBuffer: java.nio.charset.CharsetEncoder encoder>;
return v;
}
private boolean doCommit() throws java.io.IOException
{
org.glassfish.grizzly.http.util.MimeHeaders v;
org.glassfish.grizzly.http.io.OutputBuffer v;
boolean v;
org.glassfish.grizzly.http.HttpHeader v;
v := @this: org.glassfish.grizzly.http.io.OutputBuffer;
v = v.<org.glassfish.grizzly.http.io.OutputBuffer: boolean committed>;
if v != 0 goto label;
specialinvoke v.<org.glassfish.grizzly.http.io.OutputBuffer: void notifyCommit()>();
v.<org.glassfish.grizzly.http.io.OutputBuffer: boolean committed> = 1;
v = v.<org.glassfish.grizzly.http.io.OutputBuffer: org.glassfish.grizzly.http.HttpHeader outputHeader>;
v = virtualinvoke v.<org.glassfish.grizzly.http.HttpHeader: org.glassfish.grizzly.http.util.MimeHeaders getHeaders()>();
virtualinvoke v.<org.glassfish.grizzly.http.util.MimeHeaders: void mark()>();
return 1;
label:
return 0;
}
private void forceCommitHeaders(boolean) throws java.io.IOException
{
org.glassfish.grizzly.http.io.OutputBuffer v;
org.glassfish.grizzly.http.HttpContent$Builder v, v, v;
org.glassfish.grizzly.filterchain.FilterChainContext v, v;
org.glassfish.grizzly.http.HttpContent v;
boolean v, v, v, v;
org.glassfish.grizzly.http.HttpHeader v, v;
v := @this: org.glassfish.grizzly.http.io.OutputBuffer;
v := @parameter: boolean;
v = v.<org.glassfish.grizzly.http.io.OutputBuffer: boolean headersWritten>;
if v != 0 goto label;
if v == 0 goto label;
v = v.<org.glassfish.grizzly.http.io.OutputBuffer: org.glassfish.grizzly.http.HttpHeader outputHeader>;
if v == null goto label;
v = v.<org.glassfish.grizzly.http.io.OutputBuffer: org.glassfish.grizzly.http.HttpContent$Builder builder>;
v = virtualinvoke v.<org.glassfish.grizzly.http.HttpContent$Builder: org.glassfish.grizzly.http.HttpContent$Builder last(boolean)>(1);
virtualinvoke v.<org.glassfish.grizzly.http.HttpContent$Builder: org.glassfish.grizzly.http.HttpContent$Builder content(org.glassfish.grizzly.Buffer)>(null);
v = v.<org.glassfish.grizzly.http.io.OutputBuffer: org.glassfish.grizzly.filterchain.FilterChainContext ctx>;
v = v.<org.glassfish.grizzly.http.io.OutputBuffer: org.glassfish.grizzly.http.HttpContent$Builder builder>;
v = virtualinvoke v.<org.glassfish.grizzly.http.HttpContent$Builder: org.glassfish.grizzly.http.HttpContent build()>();
v = <org.glassfish.grizzly.http.io.OutputBuffer: boolean IS_BLOCKING>;
virtualinvoke v.<org.glassfish.grizzly.filterchain.FilterChainContext: void write(java.lang.Object,boolean)>(v, v);
goto label;
label:
v = v.<org.glassfish.grizzly.http.io.OutputBuffer: org.glassfish.grizzly.filterchain.FilterChainContext ctx>;
v = v.<org.glassfish.grizzly.http.io.OutputBuffer: org.glassfish.grizzly.http.HttpHeader outputHeader>;
v = <org.glassfish.grizzly.http.io.OutputBuffer: boolean IS_BLOCKING>;
virtualinvoke v.<org.glassfish.grizzly.filterchain.FilterChainContext: void write(java.lang.Object,boolean)>(v, v);
label:
v.<org.glassfish.grizzly.http.io.OutputBuffer: boolean headersWritten> = 1;
return;
}
private void checkCompositeBuffer()
{
org.glassfish.grizzly.memory.MemoryManager v;
org.glassfish.grizzly.http.io.OutputBuffer v;
org.glassfish.grizzly.memory.CompositeBuffer v, v;
v := @this: org.glassfish.grizzly.http.io.OutputBuffer;
v = v.<org.glassfish.grizzly.http.io.OutputBuffer: org.glassfish.grizzly.memory.CompositeBuffer compositeBuffer>;
if v != null goto label;
v = v.<org.glassfish.grizzly.http.io.OutputBuffer: org.glassfish.grizzly.memory.MemoryManager memoryManager>;
v = staticinvoke <org.glassfish.grizzly.memory.CompositeBuffer: org.glassfish.grizzly.memory.CompositeBuffer newBuffer(org.glassfish.grizzly.memory.MemoryManager)>(v);
virtualinvoke v.<org.glassfish.grizzly.memory.CompositeBuffer: void allowBufferDispose(boolean)>(1);
virtualinvoke v.<org.glassfish.grizzly.memory.CompositeBuffer: void allowInternalBuffersDispose(boolean)>(1);
v.<org.glassfish.grizzly.http.io.OutputBuffer: org.glassfish.grizzly.memory.CompositeBuffer compositeBuffer> = v;
label:
return;
}
private void flushCharsToBuf(boolean) throws java.io.IOException
{
java.lang.Throwable v;
java.nio.CharBuffer v, v, v, v;
org.glassfish.grizzly.http.io.OutputBuffer v;
int v;
boolean v;
v := @this: org.glassfish.grizzly.http.io.OutputBuffer;
v := @parameter: boolean;
v = v.<org.glassfish.grizzly.http.io.OutputBuffer: java.nio.CharBuffer charsBuffer>;
v = v.<org.glassfish.grizzly.http.io.OutputBuffer: int charsArrayLength>;
virtualinvoke v.<java.nio.CharBuffer: java.nio.CharBuffer limit(int)>(v);
label:
v = v.<org.glassfish.grizzly.http.io.OutputBuffer: java.nio.CharBuffer charsBuffer>;
specialinvoke v.<org.glassfish.grizzly.http.io.OutputBuffer: void flushCharsToBuf(java.nio.CharBuffer,boolean)>(v, v);
label:
v.<org.glassfish.grizzly.http.io.OutputBuffer: int charsArrayLength> = 0;
v = v.<org.glassfish.grizzly.http.io.OutputBuffer: java.nio.CharBuffer charsBuffer>;
virtualinvoke v.<java.nio.CharBuffer: java.nio.CharBuffer clear()>();
goto label;
label:
v := @caughtexception;
v.<org.glassfish.grizzly.http.io.OutputBuffer: int charsArrayLength> = 0;
v = v.<org.glassfish.grizzly.http.io.OutputBuffer: java.nio.CharBuffer charsBuffer>;
virtualinvoke v.<java.nio.CharBuffer: java.nio.CharBuffer clear()>();
throw v;
label:
return;
catch java.lang.Throwable from label to label with label;
}
private void flushCharsToBuf(java.nio.CharBuffer, boolean) throws java.io.IOException
{
org.glassfish.grizzly.http.io.OutputBuffer v;
java.nio.ByteBuffer v, v;
java.nio.charset.CoderResult v, v, v, v;
int v, v, v, v, v, v, v, v, v, v;
boolean v, v, v;
java.nio.CharBuffer v;
org.glassfish.grizzly.Buffer v, v, v, v, v, v, v;
java.io.IOException v;
java.nio.charset.CharsetEncoder v;
v := @this: org.glassfish.grizzly.http.io.OutputBuffer;
v := @parameter: java.nio.CharBuffer;
v := @parameter: boolean;
v = virtualinvoke v.<java.nio.CharBuffer: boolean hasRemaining()>();
if v != 0 goto label;
return;
label:
v = specialinvoke v.<org.glassfish.grizzly.http.io.OutputBuffer: java.nio.charset.CharsetEncoder getEncoder()>();
specialinvoke v.<org.glassfish.grizzly.http.io.OutputBuffer: void checkCurrentBuffer()>();
v = v.<org.glassfish.grizzly.http.io.OutputBuffer: org.glassfish.grizzly.Buffer currentBuffer>;
v = interfaceinvoke v.<org.glassfish.grizzly.Buffer: boolean hasRemaining()>();
if v != 0 goto label;
specialinvoke v.<org.glassfish.grizzly.http.io.OutputBuffer: void finishCurrentBuffer()>();
specialinvoke v.<org.glassfish.grizzly.http.io.OutputBuffer: void checkCurrentBuffer()>();
label:
v = v.<org.glassfish.grizzly.http.io.OutputBuffer: org.glassfish.grizzly.Buffer currentBuffer>;
v = interfaceinvoke v.<org.glassfish.grizzly.Buffer: java.nio.ByteBuffer toByteBuffer()>();
v = v.<org.glassfish.grizzly.http.io.OutputBuffer: org.glassfish.grizzly.Buffer currentBuffer>;
v = interfaceinvoke v.<org.glassfish.grizzly.Buffer: int position()>();
v = virtualinvoke v.<java.nio.ByteBuffer: int position()>();
v = virtualinvoke v.<java.nio.charset.CharsetEncoder: java.nio.charset.CoderResult encode(java.nio.CharBuffer,java.nio.ByteBuffer,boolean)>(v, v, 1);
v = v.<org.glassfish.grizzly.http.io.OutputBuffer: org.glassfish.grizzly.Buffer currentBuffer>;
v = virtualinvoke v.<java.nio.ByteBuffer: int position()>();
v = v + v;
v = v - v;
interfaceinvoke v.<org.glassfish.grizzly.Buffer: org.glassfish.grizzly.Buffer position(int)>(v);
label:
v = <java.nio.charset.CoderResult: java.nio.charset.CoderResult OVERFLOW>;
if v != v goto label;
specialinvoke v.<org.glassfish.grizzly.http.io.OutputBuffer: void checkCurrentBuffer()>();
v = v.<org.glassfish.grizzly.http.io.OutputBuffer: org.glassfish.grizzly.Buffer currentBuffer>;
v = interfaceinvoke v.<org.glassfish.grizzly.Buffer: java.nio.ByteBuffer toByteBuffer()>();
v = v.<org.glassfish.grizzly.http.io.OutputBuffer: org.glassfish.grizzly.Buffer currentBuffer>;
v = interfaceinvoke v.<org.glassfish.grizzly.Buffer: int position()>();
v = virtualinvoke v.<java.nio.ByteBuffer: int position()>();
v = virtualinvoke v.<java.nio.charset.CharsetEncoder: java.nio.charset.CoderResult encode(java.nio.CharBuffer,java.nio.ByteBuffer,boolean)>(v, v, 1);
v = v.<org.glassfish.grizzly.http.io.OutputBuffer: org.glassfish.grizzly.Buffer currentBuffer>;
v = virtualinvoke v.<java.nio.ByteBuffer: int position()>();
v = v + v;
v = v - v;
interfaceinvoke v.<org.glassfish.grizzly.Buffer: org.glassfish.grizzly.Buffer position(int)>(v);
v = <java.nio.charset.CoderResult: java.nio.charset.CoderResult OVERFLOW>;
if v != v goto label;
specialinvoke v.<org.glassfish.grizzly.http.io.OutputBuffer: void finishCurrentBuffer()>();
goto label;
label:
v = <java.nio.charset.CoderResult: java.nio.charset.CoderResult UNDERFLOW>;
if v == v goto label;
v = new java.io.IOException;
specialinvoke v.<java.io.IOException: void <init>(java.lang.String)>("Encoding error");
throw v;
label:
if v == 0 goto label;
specialinvoke v.<org.glassfish.grizzly.http.io.OutputBuffer: void flushBinaryBuffersIfNeeded()>();
label:
return;
}
private void flushBinaryBuffersIfNeeded() throws java.io.IOException
{
org.glassfish.grizzly.memory.CompositeBuffer v;
org.glassfish.grizzly.http.io.OutputBuffer v;
v := @this: org.glassfish.grizzly.http.io.OutputBuffer;
v = v.<org.glassfish.grizzly.http.io.OutputBuffer: org.glassfish.grizzly.memory.CompositeBuffer compositeBuffer>;
if v == null goto label;
specialinvoke v.<org.glassfish.grizzly.http.io.OutputBuffer: boolean flushBinaryBuffers(boolean)>(0);
specialinvoke v.<org.glassfish.grizzly.http.io.OutputBuffer: void blockAfterWriteIfNeeded()>();
label:
return;
}
private void notifyCommit() throws java.io.IOException
{
java.lang.Object[] v;
org.glassfish.grizzly.http.io.OutputBuffer$LifeCycleListener v;
org.glassfish.grizzly.http.io.OutputBuffer v;
org.glassfish.grizzly.http.io.OutputBuffer$LifeCycleListener[] v;
java.util.List v, v;
int v, v, v;
v := @this: org.glassfish.grizzly.http.io.OutputBuffer;
v = v.<org.glassfish.grizzly.http.io.OutputBuffer: java.util.List lifeCycleListeners>;
v = v.<org.glassfish.grizzly.http.io.OutputBuffer: java.util.List lifeCycleListeners>;
v = interfaceinvoke v.<java.util.List: int size()>();
v = newarray (org.glassfish.grizzly.http.io.OutputBuffer$LifeCycleListener)[v];
v = interfaceinvoke v.<java.util.List: java.lang.Object[] toArray(java.lang.Object[])>(v);
v = lengthof v;
v = 0;
label:
if v >= v goto label;
v = v[v];
interfaceinvoke v.<org.glassfish.grizzly.http.io.OutputBuffer$LifeCycleListener: void onCommit()>();
v = v + 1;
goto label;
label:
return;
}
private void updateNonBlockingStatus()
{
boolean v;
org.glassfish.grizzly.http.io.OutputBuffer v;
v := @this: org.glassfish.grizzly.http.io.OutputBuffer;
v = v.<org.glassfish.grizzly.http.io.OutputBuffer: boolean isNonBlockingWriteGuaranteed>;
v.<org.glassfish.grizzly.http.io.OutputBuffer: boolean isLastWriteNonBlocking> = v;
v.<org.glassfish.grizzly.http.io.OutputBuffer: boolean isNonBlockingWriteGuaranteed> = 0;
return;
}
static void <clinit>()
{
java.lang.Integer v, v;
int v, v;
java.lang.String v, v, v, v, v, v;
boolean v, v, v;
java.util.logging.Logger v;
java.lang.Class v, v, v, v;
v = class "Lorg/glassfish/grizzly/http/io/OutputBuffer;";
v = virtualinvoke v.<java.lang.Class: boolean desiredAssertionStatus()>();
if v != 0 goto label;
v = 1;
goto label;
label:
v = 0;
label:
<org.glassfish.grizzly.http.io.OutputBuffer: boolean $assertionsDisabled> = v;
v = staticinvoke <org.glassfish.grizzly.Grizzly: java.util.logging.Logger logger(java.lang.Class)>(class "Lorg/glassfish/grizzly/http/io/OutputBuffer;");
<org.glassfish.grizzly.http.io.OutputBuffer: java.util.logging.Logger LOGGER> = v;
v = class "Lorg/glassfish/grizzly/http/io/OutputBuffer;";
v = virtualinvoke v.<java.lang.Class: java.lang.String getName()>();
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String)>(v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("\u.default-buffer-size");
v = staticinvoke <java.lang.Integer: java.lang.Integer getInteger(java.lang.String,int)>(v, 8192);
v = virtualinvoke v.<java.lang.Integer: int intValue()>();
<org.glassfish.grizzly.http.io.OutputBuffer: int DEFAULT_BUFFER_SIZE> = v;
v = class "Lorg/glassfish/grizzly/http/io/OutputBuffer;";
v = virtualinvoke v.<java.lang.Class: java.lang.String getName()>();
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String)>(v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("\u.max-char-buffer-size");
v = staticinvoke <java.lang.Integer: java.lang.Integer getInteger(java.lang.String,int)>(v, 65537);
v = virtualinvoke v.<java.lang.Integer: int intValue()>();
<org.glassfish.grizzly.http.io.OutputBuffer: int MAX_CHAR_BUFFER_SIZE> = v;
v = class "Lorg/glassfish/grizzly/http/io/OutputBuffer;";
v = virtualinvoke v.<java.lang.Class: java.lang.String getName()>();
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String)>(v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("\u.isBlocking");
v = staticinvoke <java.lang.Boolean: boolean getBoolean(java.lang.String)>(v);
<org.glassfish.grizzly.http.io.OutputBuffer: boolean IS_BLOCKING> = v;
return;
}
}