public class org.eclipse.jetty.server.LocalConnector$LocalEndPoint extends org.eclipse.jetty.io.ByteArrayEndPoint
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.eclipse.jetty.server.LocalConnector$LocalEndPoint
super_class: org.eclipse.jetty.io.ByteArrayEndPoint
{
private final java.util.concurrent.CountDownLatch _closed;
descriptor: Ljava/util/concurrent/CountDownLatch;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private java.nio.ByteBuffer _responseData;
descriptor: Ljava/nio/ByteBuffer;
flags: (0x0002) ACC_PRIVATE
final org.eclipse.jetty.server.LocalConnector this$0;
descriptor: Lorg/eclipse/jetty/server/LocalConnector;
flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC
public void <init>(org.eclipse.jetty.server.LocalConnector);
descriptor: (Lorg/eclipse/jetty/server/LocalConnector;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=2
start local 0 0: aload 0
aload 1
putfield org.eclipse.jetty.server.LocalConnector$LocalEndPoint.this$0:Lorg/eclipse/jetty/server/LocalConnector;
1: aload 0
aload 1
invokevirtual org.eclipse.jetty.server.LocalConnector.getScheduler:()Lorg/eclipse/jetty/util/thread/Scheduler;
aload 1
invokevirtual org.eclipse.jetty.server.LocalConnector.getIdleTimeout:()J
invokespecial org.eclipse.jetty.io.ByteArrayEndPoint.<init>:(Lorg/eclipse/jetty/util/thread/Scheduler;J)V
2: aload 0
new java.util.concurrent.CountDownLatch
dup
iconst_1
invokespecial java.util.concurrent.CountDownLatch.<init>:(I)V
putfield org.eclipse.jetty.server.LocalConnector$LocalEndPoint._closed:Ljava/util/concurrent/CountDownLatch;
3: aload 0
iconst_1
invokevirtual org.eclipse.jetty.server.LocalConnector$LocalEndPoint.setGrowOutput:(Z)V
4: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/eclipse/jetty/server/LocalConnector$LocalEndPoint;
MethodParameters:
Name Flags
this$0 final
protected void execute(java.lang.Runnable);
descriptor: (Ljava/lang/Runnable;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield org.eclipse.jetty.server.LocalConnector$LocalEndPoint.this$0:Lorg/eclipse/jetty/server/LocalConnector;
invokevirtual org.eclipse.jetty.server.LocalConnector.getExecutor:()Ljava/util/concurrent/Executor;
aload 1
invokeinterface java.util.concurrent.Executor.execute:(Ljava/lang/Runnable;)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/eclipse/jetty/server/LocalConnector$LocalEndPoint;
0 2 1 task Ljava/lang/Runnable;
MethodParameters:
Name Flags
task
public void onClose(java.lang.Throwable);
descriptor: (Ljava/lang/Throwable;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual org.eclipse.jetty.server.LocalConnector$LocalEndPoint.getConnection:()Lorg/eclipse/jetty/io/Connection;
astore 2
start local 2 1: aload 2
ifnull 3
2: aload 2
aload 1
invokeinterface org.eclipse.jetty.io.Connection.onClose:(Ljava/lang/Throwable;)V
3: StackMap locals: org.eclipse.jetty.io.Connection
StackMap stack:
aload 0
getfield org.eclipse.jetty.server.LocalConnector$LocalEndPoint.this$0:Lorg/eclipse/jetty/server/LocalConnector;
aload 0
invokevirtual org.eclipse.jetty.server.LocalConnector.onEndPointClosed:(Lorg/eclipse/jetty/io/EndPoint;)V
4: aload 0
aload 1
invokespecial org.eclipse.jetty.io.ByteArrayEndPoint.onClose:(Ljava/lang/Throwable;)V
5: aload 0
getfield org.eclipse.jetty.server.LocalConnector$LocalEndPoint._closed:Ljava/util/concurrent/CountDownLatch;
invokevirtual java.util.concurrent.CountDownLatch.countDown:()V
6: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lorg/eclipse/jetty/server/LocalConnector$LocalEndPoint;
0 7 1 cause Ljava/lang/Throwable;
1 7 2 connection Lorg/eclipse/jetty/io/Connection;
MethodParameters:
Name Flags
cause
public void doShutdownOutput();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokespecial org.eclipse.jetty.io.ByteArrayEndPoint.shutdownOutput:()V
1: aload 0
invokevirtual org.eclipse.jetty.server.LocalConnector$LocalEndPoint.close:()V
2: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/eclipse/jetty/server/LocalConnector$LocalEndPoint;
public void waitUntilClosed();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=1
start local 0 0: goto 5
1: StackMap locals:
StackMap stack:
aload 0
getfield org.eclipse.jetty.server.LocalConnector$LocalEndPoint._closed:Ljava/util/concurrent/CountDownLatch;
ldc 10
getstatic java.util.concurrent.TimeUnit.SECONDS:Ljava/util/concurrent/TimeUnit;
invokevirtual java.util.concurrent.CountDownLatch.await:(JLjava/util/concurrent/TimeUnit;)Z
ifne 5
2: goto 6
3: StackMap locals:
StackMap stack: java.lang.Exception
astore 1
start local 1 4: getstatic org.eclipse.jetty.server.LocalConnector.LOG:Lorg/eclipse/jetty/util/log/Logger;
aload 1
invokeinterface org.eclipse.jetty.util.log.Logger.warn:(Ljava/lang/Throwable;)V
end local 1 5: StackMap locals:
StackMap stack:
aload 0
invokevirtual org.eclipse.jetty.server.LocalConnector$LocalEndPoint.isOpen:()Z
ifne 1
6: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lorg/eclipse/jetty/server/LocalConnector$LocalEndPoint;
4 5 1 e Ljava/lang/Exception;
Exception table:
from to target type
1 2 3 Class java.lang.Exception
public void waitUntilClosedOrIdleFor(long, java.util.concurrent.TimeUnit);
descriptor: (JLjava/util/concurrent/TimeUnit;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=6, args_size=3
start local 0 start local 1 start local 3 0: invokestatic java.lang.Thread.yield:()V
1: aload 0
invokevirtual org.eclipse.jetty.server.LocalConnector$LocalEndPoint.getOutput:()Ljava/nio/ByteBuffer;
invokevirtual java.nio.ByteBuffer.remaining:()I
istore 4
start local 4 2: goto 12
3: StackMap locals: int
StackMap stack:
aload 0
getfield org.eclipse.jetty.server.LocalConnector$LocalEndPoint._closed:Ljava/util/concurrent/CountDownLatch;
lload 1
aload 3
invokevirtual java.util.concurrent.CountDownLatch.await:(JLjava/util/concurrent/TimeUnit;)Z
ifne 12
4: iload 4
aload 0
invokevirtual org.eclipse.jetty.server.LocalConnector$LocalEndPoint.getOutput:()Ljava/nio/ByteBuffer;
invokevirtual java.nio.ByteBuffer.remaining:()I
if_icmpne 8
5: getstatic org.eclipse.jetty.server.LocalConnector.LOG:Lorg/eclipse/jetty/util/log/Logger;
invokeinterface org.eclipse.jetty.util.log.Logger.isDebugEnabled:()Z
ifeq 7
6: getstatic org.eclipse.jetty.server.LocalConnector.LOG:Lorg/eclipse/jetty/util/log/Logger;
ldc "idle for {} {}"
iconst_2
anewarray java.lang.Object
dup
iconst_0
lload 1
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
aastore
dup
iconst_1
aload 3
aastore
invokeinterface org.eclipse.jetty.util.log.Logger.debug:(Ljava/lang/String;[Ljava/lang/Object;)V
7: StackMap locals:
StackMap stack:
return
8: StackMap locals:
StackMap stack:
aload 0
invokevirtual org.eclipse.jetty.server.LocalConnector$LocalEndPoint.getOutput:()Ljava/nio/ByteBuffer;
invokevirtual java.nio.ByteBuffer.remaining:()I
istore 4
9: goto 12
10: StackMap locals:
StackMap stack: java.lang.Exception
astore 5
start local 5 11: getstatic org.eclipse.jetty.server.LocalConnector.LOG:Lorg/eclipse/jetty/util/log/Logger;
aload 5
invokeinterface org.eclipse.jetty.util.log.Logger.warn:(Ljava/lang/Throwable;)V
end local 5 12: StackMap locals:
StackMap stack:
aload 0
invokevirtual org.eclipse.jetty.server.LocalConnector$LocalEndPoint.isOpen:()Z
ifne 3
13: return
end local 4 end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 this Lorg/eclipse/jetty/server/LocalConnector$LocalEndPoint;
0 14 1 idleFor J
0 14 3 units Ljava/util/concurrent/TimeUnit;
2 14 4 size I
11 12 5 e Ljava/lang/Exception;
Exception table:
from to target type
3 7 10 Class java.lang.Exception
8 9 10 Class java.lang.Exception
MethodParameters:
Name Flags
idleFor
units
public java.nio.ByteBuffer getResponseData();
descriptor: ()Ljava/nio/ByteBuffer;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.eclipse.jetty.server.LocalConnector$LocalEndPoint._responseData:Ljava/nio/ByteBuffer;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/eclipse/jetty/server/LocalConnector$LocalEndPoint;
public java.lang.String getResponse();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=1, args_size=1
start local 0 0: aload 0
iconst_0
ldc 30
getstatic java.util.concurrent.TimeUnit.SECONDS:Ljava/util/concurrent/TimeUnit;
invokevirtual org.eclipse.jetty.server.LocalConnector$LocalEndPoint.getResponse:(ZJLjava/util/concurrent/TimeUnit;)Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/eclipse/jetty/server/LocalConnector$LocalEndPoint;
Exceptions:
throws java.lang.Exception
public java.lang.String getResponse(boolean, long, java.util.concurrent.TimeUnit);
descriptor: (ZJLjava/util/concurrent/TimeUnit;)Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=6, args_size=4
start local 0 start local 1 start local 2 start local 4 0: aload 0
iload 1
lload 2
aload 4
invokevirtual org.eclipse.jetty.server.LocalConnector$LocalEndPoint.waitForResponse:(ZJLjava/util/concurrent/TimeUnit;)Ljava/nio/ByteBuffer;
astore 5
start local 5 1: aload 5
ifnull 3
2: aload 5
invokestatic org.eclipse.jetty.util.BufferUtil.toString:(Ljava/nio/ByteBuffer;)Ljava/lang/String;
areturn
3: StackMap locals: java.nio.ByteBuffer
StackMap stack:
aconst_null
areturn
end local 5 end local 4 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/eclipse/jetty/server/LocalConnector$LocalEndPoint;
0 4 1 head Z
0 4 2 time J
0 4 4 unit Ljava/util/concurrent/TimeUnit;
1 4 5 response Ljava/nio/ByteBuffer;
Exceptions:
throws java.lang.Exception
MethodParameters:
Name Flags
head
time
unit
public java.nio.ByteBuffer waitForResponse(boolean, long, java.util.concurrent.TimeUnit);
descriptor: (ZJLjava/util/concurrent/TimeUnit;)Ljava/nio/ByteBuffer;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=13, args_size=4
start local 0 start local 1 start local 2 start local 4 0: new org.eclipse.jetty.server.LocalConnector$LocalEndPoint$1
dup
aload 0
invokespecial org.eclipse.jetty.server.LocalConnector$LocalEndPoint$1.<init>:(Lorg/eclipse/jetty/server/LocalConnector$LocalEndPoint;)V
astore 5
start local 5 1: new org.eclipse.jetty.http.HttpParser
dup
aload 5
invokespecial org.eclipse.jetty.http.HttpParser.<init>:(Lorg/eclipse/jetty/http/HttpParser$ResponseHandler;)V
astore 6
start local 6 2: aload 6
iload 1
invokevirtual org.eclipse.jetty.http.HttpParser.setHeadResponse:(Z)V
3: aconst_null
astore 7
aconst_null
astore 8
4: new org.eclipse.jetty.util.ByteArrayOutputStream2
dup
invokespecial org.eclipse.jetty.util.ByteArrayOutputStream2.<init>:()V
astore 9
start local 9 5: StackMap locals: org.eclipse.jetty.server.LocalConnector$LocalEndPoint int long java.util.concurrent.TimeUnit org.eclipse.jetty.http.HttpParser$ResponseHandler org.eclipse.jetty.http.HttpParser java.lang.Throwable java.lang.Throwable org.eclipse.jetty.util.ByteArrayOutputStream2
StackMap stack:
aload 0
getfield org.eclipse.jetty.server.LocalConnector$LocalEndPoint._responseData:Ljava/nio/ByteBuffer;
invokestatic org.eclipse.jetty.util.BufferUtil.hasContent:(Ljava/nio/ByteBuffer;)Z
ifeq 8
6: aload 0
getfield org.eclipse.jetty.server.LocalConnector$LocalEndPoint._responseData:Ljava/nio/ByteBuffer;
astore 10
start local 10 7: goto 25
end local 10 8: StackMap locals:
StackMap stack:
aload 0
lload 2
aload 4
invokevirtual org.eclipse.jetty.server.LocalConnector$LocalEndPoint.waitForOutput:(JLjava/util/concurrent/TimeUnit;)Ljava/nio/ByteBuffer;
astore 10
start local 10 9: aload 10
invokestatic org.eclipse.jetty.util.BufferUtil.isEmpty:(Ljava/nio/ByteBuffer;)Z
ifeq 25
aload 0
invokevirtual org.eclipse.jetty.server.LocalConnector$LocalEndPoint.isOpen:()Z
ifeq 10
aload 0
invokevirtual org.eclipse.jetty.server.LocalConnector$LocalEndPoint.isOutputShutdown:()Z
ifeq 25
10: StackMap locals: java.nio.ByteBuffer
StackMap stack:
aload 6
invokevirtual org.eclipse.jetty.http.HttpParser.atEOF:()V
11: aload 6
getstatic org.eclipse.jetty.util.BufferUtil.EMPTY_BUFFER:Ljava/nio/ByteBuffer;
invokevirtual org.eclipse.jetty.http.HttpParser.parseNext:(Ljava/nio/ByteBuffer;)Z
pop
12: goto 27
13: StackMap locals:
StackMap stack:
aload 10
invokevirtual java.nio.ByteBuffer.position:()I
istore 11
start local 11 14: aload 6
aload 10
invokevirtual org.eclipse.jetty.http.HttpParser.parseNext:(Ljava/nio/ByteBuffer;)Z
istore 12
start local 12 15: aload 10
invokevirtual java.nio.ByteBuffer.position:()I
iload 11
if_icmpne 20
16: aload 10
invokestatic org.eclipse.jetty.util.BufferUtil.isEmpty:(Ljava/nio/ByteBuffer;)Z
ifeq 18
17: goto 5
18: StackMap locals: int int
StackMap stack:
aload 9
ifnull 19
aload 9
invokevirtual org.eclipse.jetty.util.ByteArrayOutputStream2.close:()V
19: StackMap locals:
StackMap stack:
aconst_null
areturn
20: StackMap locals:
StackMap stack:
aload 9
aload 10
invokevirtual java.nio.ByteBuffer.array:()[B
aload 10
invokevirtual java.nio.ByteBuffer.arrayOffset:()I
iload 11
iadd
aload 10
invokevirtual java.nio.ByteBuffer.position:()I
iload 11
isub
invokevirtual org.eclipse.jetty.util.ByteArrayOutputStream2.write:([BII)V
21: iload 12
ifeq 25
22: aload 10
invokestatic org.eclipse.jetty.util.BufferUtil.hasContent:(Ljava/nio/ByteBuffer;)Z
ifeq 27
23: aload 0
aload 10
putfield org.eclipse.jetty.server.LocalConnector$LocalEndPoint._responseData:Ljava/nio/ByteBuffer;
24: goto 27
end local 12 end local 11 25: StackMap locals:
StackMap stack:
aload 10
invokestatic org.eclipse.jetty.util.BufferUtil.hasContent:(Ljava/nio/ByteBuffer;)Z
ifne 13
end local 10 26: goto 5
27: StackMap locals:
StackMap stack:
aload 9
invokevirtual org.eclipse.jetty.util.ByteArrayOutputStream2.getCount:()I
ifne 30
aload 0
invokevirtual org.eclipse.jetty.server.LocalConnector$LocalEndPoint.isOutputShutdown:()Z
ifeq 30
28: aload 9
ifnull 29
aload 9
invokevirtual org.eclipse.jetty.util.ByteArrayOutputStream2.close:()V
29: StackMap locals:
StackMap stack:
aconst_null
areturn
30: StackMap locals:
StackMap stack:
aload 9
invokevirtual org.eclipse.jetty.util.ByteArrayOutputStream2.getBuf:()[B
iconst_0
aload 9
invokevirtual org.eclipse.jetty.util.ByteArrayOutputStream2.getCount:()I
invokestatic java.nio.ByteBuffer.wrap:([BII)Ljava/nio/ByteBuffer;
31: aload 9
ifnull 32
aload 9
invokevirtual org.eclipse.jetty.util.ByteArrayOutputStream2.close:()V
32: StackMap locals:
StackMap stack: java.nio.ByteBuffer
areturn
StackMap locals:
StackMap stack: java.lang.Throwable
33: astore 7
34: aload 9
ifnull 35
aload 9
invokevirtual org.eclipse.jetty.util.ByteArrayOutputStream2.close:()V
end local 9 StackMap locals:
StackMap stack:
35: aload 7
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
36: astore 8
aload 7
ifnonnull 37
aload 8
astore 7
goto 38
StackMap locals:
StackMap stack:
37: aload 7
aload 8
if_acmpeq 38
aload 7
aload 8
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
38: aload 7
athrow
end local 6 end local 5 end local 4 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 39 0 this Lorg/eclipse/jetty/server/LocalConnector$LocalEndPoint;
0 39 1 head Z
0 39 2 time J
0 39 4 unit Ljava/util/concurrent/TimeUnit;
1 39 5 handler Lorg/eclipse/jetty/http/HttpParser$ResponseHandler;
2 39 6 parser Lorg/eclipse/jetty/http/HttpParser;
5 35 9 bout Lorg/eclipse/jetty/util/ByteArrayOutputStream2;
7 8 10 chunk Ljava/nio/ByteBuffer;
9 26 10 chunk Ljava/nio/ByteBuffer;
14 25 11 pos I
15 25 12 complete Z
Exception table:
from to target type
5 18 33 any
20 28 33 any
30 31 33 any
4 19 36 any
20 29 36 any
30 32 36 any
33 36 36 any
Exceptions:
throws java.lang.Exception
MethodParameters:
Name Flags
head
time
unit
}
SourceFile: "LocalConnector.java"
NestHost: org.eclipse.jetty.server.LocalConnector
InnerClasses:
public abstract ResponseHandler = org.eclipse.jetty.http.HttpParser$ResponseHandler of org.eclipse.jetty.http.HttpParser
public LocalEndPoint = org.eclipse.jetty.server.LocalConnector$LocalEndPoint of org.eclipse.jetty.server.LocalConnector
org.eclipse.jetty.server.LocalConnector$LocalEndPoint$1