public abstract class org.eclipse.jetty.server.NegotiatingServerConnection extends org.eclipse.jetty.io.AbstractConnection
minor version: 0
major version: 59
flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
this_class: org.eclipse.jetty.server.NegotiatingServerConnection
super_class: org.eclipse.jetty.io.AbstractConnection
{
private static final org.eclipse.jetty.util.log.Logger LOG;
descriptor: Lorg/eclipse/jetty/util/log/Logger;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private final org.eclipse.jetty.server.Connector connector;
descriptor: Lorg/eclipse/jetty/server/Connector;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final javax.net.ssl.SSLEngine engine;
descriptor: Ljavax/net/ssl/SSLEngine;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.util.List<java.lang.String> protocols;
descriptor: Ljava/util/List;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/List<Ljava/lang/String;>;
private final java.lang.String defaultProtocol;
descriptor: Ljava/lang/String;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private java.lang.String protocol;
descriptor: Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: ldc Lorg/eclipse/jetty/server/NegotiatingServerConnection;
invokestatic org.eclipse.jetty.util.log.Log.getLogger:(Ljava/lang/Class;)Lorg/eclipse/jetty/util/log/Logger;
putstatic org.eclipse.jetty.server.NegotiatingServerConnection.LOG:Lorg/eclipse/jetty/util/log/Logger;
return
LocalVariableTable:
Start End Slot Name Signature
protected void <init>(org.eclipse.jetty.server.Connector, org.eclipse.jetty.io.EndPoint, javax.net.ssl.SSLEngine, java.util.List<java.lang.String>, java.lang.String);
descriptor: (Lorg/eclipse/jetty/server/Connector;Lorg/eclipse/jetty/io/EndPoint;Ljavax/net/ssl/SSLEngine;Ljava/util/List;Ljava/lang/String;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=6, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: aload 0
aload 2
aload 1
invokeinterface org.eclipse.jetty.server.Connector.getExecutor:()Ljava/util/concurrent/Executor;
invokespecial org.eclipse.jetty.io.AbstractConnection.<init>:(Lorg/eclipse/jetty/io/EndPoint;Ljava/util/concurrent/Executor;)V
1: aload 0
aload 1
putfield org.eclipse.jetty.server.NegotiatingServerConnection.connector:Lorg/eclipse/jetty/server/Connector;
2: aload 0
aload 4
putfield org.eclipse.jetty.server.NegotiatingServerConnection.protocols:Ljava/util/List;
3: aload 0
aload 5
putfield org.eclipse.jetty.server.NegotiatingServerConnection.defaultProtocol:Ljava/lang/String;
4: aload 0
aload 3
putfield org.eclipse.jetty.server.NegotiatingServerConnection.engine:Ljavax/net/ssl/SSLEngine;
5: return
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lorg/eclipse/jetty/server/NegotiatingServerConnection;
0 6 1 connector Lorg/eclipse/jetty/server/Connector;
0 6 2 endPoint Lorg/eclipse/jetty/io/EndPoint;
0 6 3 engine Ljavax/net/ssl/SSLEngine;
0 6 4 protocols Ljava/util/List<Ljava/lang/String;>;
0 6 5 defaultProtocol Ljava/lang/String;
Signature: (Lorg/eclipse/jetty/server/Connector;Lorg/eclipse/jetty/io/EndPoint;Ljavax/net/ssl/SSLEngine;Ljava/util/List<Ljava/lang/String;>;Ljava/lang/String;)V
MethodParameters:
Name Flags
connector
endPoint
engine
protocols
defaultProtocol
public java.util.List<java.lang.String> getProtocols();
descriptor: ()Ljava/util/List;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.eclipse.jetty.server.NegotiatingServerConnection.protocols:Ljava/util/List;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/eclipse/jetty/server/NegotiatingServerConnection;
Signature: ()Ljava/util/List<Ljava/lang/String;>;
public java.lang.String getDefaultProtocol();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.eclipse.jetty.server.NegotiatingServerConnection.defaultProtocol:Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/eclipse/jetty/server/NegotiatingServerConnection;
public org.eclipse.jetty.server.Connector getConnector();
descriptor: ()Lorg/eclipse/jetty/server/Connector;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.eclipse.jetty.server.NegotiatingServerConnection.connector:Lorg/eclipse/jetty/server/Connector;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/eclipse/jetty/server/NegotiatingServerConnection;
public javax.net.ssl.SSLEngine getSSLEngine();
descriptor: ()Ljavax/net/ssl/SSLEngine;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.eclipse.jetty.server.NegotiatingServerConnection.engine:Ljavax/net/ssl/SSLEngine;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/eclipse/jetty/server/NegotiatingServerConnection;
public java.lang.String getProtocol();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.eclipse.jetty.server.NegotiatingServerConnection.protocol:Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/eclipse/jetty/server/NegotiatingServerConnection;
protected void setProtocol(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
putfield org.eclipse.jetty.server.NegotiatingServerConnection.protocol:Ljava/lang/String;
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/eclipse/jetty/server/NegotiatingServerConnection;
0 2 1 protocol Ljava/lang/String;
MethodParameters:
Name Flags
protocol
public void onOpen();
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.AbstractConnection.onOpen:()V
1: aload 0
invokevirtual org.eclipse.jetty.server.NegotiatingServerConnection.fillInterested:()V
2: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/eclipse/jetty/server/NegotiatingServerConnection;
public void onFillable();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=5, args_size=1
start local 0 0: aload 0
invokevirtual org.eclipse.jetty.server.NegotiatingServerConnection.fill:()I
istore 1
start local 1 1: iload 1
ifne 21
2: aload 0
getfield org.eclipse.jetty.server.NegotiatingServerConnection.protocol:Ljava/lang/String;
ifnonnull 10
3: aload 0
getfield org.eclipse.jetty.server.NegotiatingServerConnection.engine:Ljavax/net/ssl/SSLEngine;
invokevirtual javax.net.ssl.SSLEngine.getHandshakeStatus:()Ljavax/net/ssl/SSLEngineResult$HandshakeStatus;
getstatic javax.net.ssl.SSLEngineResult$HandshakeStatus.NOT_HANDSHAKING:Ljavax/net/ssl/SSLEngineResult$HandshakeStatus;
if_acmpne 8
4: getstatic org.eclipse.jetty.server.NegotiatingServerConnection.LOG:Lorg/eclipse/jetty/util/log/Logger;
invokeinterface org.eclipse.jetty.util.log.Logger.isDebugEnabled:()Z
ifeq 6
5: getstatic org.eclipse.jetty.server.NegotiatingServerConnection.LOG:Lorg/eclipse/jetty/util/log/Logger;
ldc "{} could not negotiate protocol, SSLEngine: {}"
iconst_2
anewarray java.lang.Object
dup
iconst_0
aload 0
aastore
dup
iconst_1
aload 0
getfield org.eclipse.jetty.server.NegotiatingServerConnection.engine:Ljavax/net/ssl/SSLEngine;
aastore
invokeinterface org.eclipse.jetty.util.log.Logger.debug:(Ljava/lang/String;[Ljava/lang/Object;)V
6: StackMap locals: int
StackMap stack:
aload 0
invokevirtual org.eclipse.jetty.server.NegotiatingServerConnection.close:()V
7: goto 27
8: StackMap locals:
StackMap stack:
aload 0
invokevirtual org.eclipse.jetty.server.NegotiatingServerConnection.fillInterested:()V
9: goto 27
10: StackMap locals:
StackMap stack:
aload 0
getfield org.eclipse.jetty.server.NegotiatingServerConnection.connector:Lorg/eclipse/jetty/server/Connector;
aload 0
getfield org.eclipse.jetty.server.NegotiatingServerConnection.protocol:Ljava/lang/String;
invokeinterface org.eclipse.jetty.server.Connector.getConnectionFactory:(Ljava/lang/String;)Lorg/eclipse/jetty/server/ConnectionFactory;
astore 2
start local 2 11: aload 2
ifnonnull 17
12: getstatic org.eclipse.jetty.server.NegotiatingServerConnection.LOG:Lorg/eclipse/jetty/util/log/Logger;
ldc "{} application selected protocol '{}', but no correspondent {} has been configured"
iconst_3
anewarray java.lang.Object
dup
iconst_0
13: aload 0
aastore
dup
iconst_1
aload 0
getfield org.eclipse.jetty.server.NegotiatingServerConnection.protocol:Ljava/lang/String;
aastore
dup
iconst_2
ldc Lorg/eclipse/jetty/server/ConnectionFactory;
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
aastore
14: invokeinterface org.eclipse.jetty.util.log.Logger.info:(Ljava/lang/String;[Ljava/lang/Object;)V
15: aload 0
invokevirtual org.eclipse.jetty.server.NegotiatingServerConnection.close:()V
16: goto 27
17: StackMap locals: org.eclipse.jetty.server.ConnectionFactory
StackMap stack:
aload 0
invokevirtual org.eclipse.jetty.server.NegotiatingServerConnection.getEndPoint:()Lorg/eclipse/jetty/io/EndPoint;
astore 3
start local 3 18: aload 2
aload 0
getfield org.eclipse.jetty.server.NegotiatingServerConnection.connector:Lorg/eclipse/jetty/server/Connector;
aload 3
invokeinterface org.eclipse.jetty.server.ConnectionFactory.newConnection:(Lorg/eclipse/jetty/server/Connector;Lorg/eclipse/jetty/io/EndPoint;)Lorg/eclipse/jetty/io/Connection;
astore 4
start local 4 19: aload 3
aload 4
invokeinterface org.eclipse.jetty.io.EndPoint.upgrade:(Lorg/eclipse/jetty/io/Connection;)V
end local 4 end local 3 end local 2 20: goto 27
21: StackMap locals:
StackMap stack:
iload 1
ifge 26
22: getstatic org.eclipse.jetty.server.NegotiatingServerConnection.LOG:Lorg/eclipse/jetty/util/log/Logger;
invokeinterface org.eclipse.jetty.util.log.Logger.isDebugEnabled:()Z
ifeq 24
23: getstatic org.eclipse.jetty.server.NegotiatingServerConnection.LOG:Lorg/eclipse/jetty/util/log/Logger;
ldc "{} detected close on client side"
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 0
aastore
invokeinterface org.eclipse.jetty.util.log.Logger.debug:(Ljava/lang/String;[Ljava/lang/Object;)V
24: StackMap locals:
StackMap stack:
aload 0
invokevirtual org.eclipse.jetty.server.NegotiatingServerConnection.close:()V
25: goto 27
26: StackMap locals:
StackMap stack:
new java.lang.IllegalStateException
dup
invokespecial java.lang.IllegalStateException.<init>:()V
athrow
27: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 28 0 this Lorg/eclipse/jetty/server/NegotiatingServerConnection;
1 28 1 filled I
11 20 2 connectionFactory Lorg/eclipse/jetty/server/ConnectionFactory;
18 20 3 endPoint Lorg/eclipse/jetty/io/EndPoint;
19 20 4 newConnection Lorg/eclipse/jetty/io/Connection;
private int fill();
descriptor: ()I
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
invokevirtual org.eclipse.jetty.server.NegotiatingServerConnection.getEndPoint:()Lorg/eclipse/jetty/io/EndPoint;
getstatic org.eclipse.jetty.util.BufferUtil.EMPTY_BUFFER:Ljava/nio/ByteBuffer;
invokeinterface org.eclipse.jetty.io.EndPoint.fill:(Ljava/nio/ByteBuffer;)I
1: ireturn
2: StackMap locals:
StackMap stack: java.io.IOException
astore 1
start local 1 3: getstatic org.eclipse.jetty.server.NegotiatingServerConnection.LOG:Lorg/eclipse/jetty/util/log/Logger;
aload 1
invokeinterface org.eclipse.jetty.util.log.Logger.debug:(Ljava/lang/Throwable;)V
4: aload 0
invokevirtual org.eclipse.jetty.server.NegotiatingServerConnection.close:()V
5: iconst_m1
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lorg/eclipse/jetty/server/NegotiatingServerConnection;
3 6 1 x Ljava/io/IOException;
Exception table:
from to target type
0 1 2 Class java.io.IOException
public void close();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual org.eclipse.jetty.server.NegotiatingServerConnection.getEndPoint:()Lorg/eclipse/jetty/io/EndPoint;
invokeinterface org.eclipse.jetty.io.EndPoint.shutdownOutput:()V
1: aload 0
invokespecial org.eclipse.jetty.io.AbstractConnection.close:()V
2: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/eclipse/jetty/server/NegotiatingServerConnection;
}
SourceFile: "NegotiatingServerConnection.java"
NestMembers:
org.eclipse.jetty.server.NegotiatingServerConnection$CipherDiscriminator
InnerClasses:
public final HandshakeStatus = javax.net.ssl.SSLEngineResult$HandshakeStatus of javax.net.ssl.SSLEngineResult
public abstract CipherDiscriminator = org.eclipse.jetty.server.NegotiatingServerConnection$CipherDiscriminator of org.eclipse.jetty.server.NegotiatingServerConnection