public class org.apache.activemq.transport.auto.nio.AutoNIOSSLTransportServer extends org.apache.activemq.transport.auto.AutoTcpTransportServer
{
private static final org.slf4j.Logger LOG;
private javax.net.ssl.SSLContext context;
private boolean needClientAuth;
private boolean wantClientAuth;
public void <init>(javax.net.ssl.SSLContext, org.apache.activemq.transport.tcp.TcpTransportFactory, java.net.URI, javax.net.ServerSocketFactory, org.apache.activemq.broker.BrokerService, java.util.Set) throws java.io.IOException, java.net.URISyntaxException
{
org.apache.activemq.broker.BrokerService v;
javax.net.ssl.SSLContext v;
org.apache.activemq.transport.tcp.TcpTransportFactory v;
javax.net.ServerSocketFactory v;
java.util.Set v;
java.net.URI v;
org.apache.activemq.transport.auto.nio.AutoNIOSSLTransportServer v;
v := @this: org.apache.activemq.transport.auto.nio.AutoNIOSSLTransportServer;
v := @parameter: javax.net.ssl.SSLContext;
v := @parameter: org.apache.activemq.transport.tcp.TcpTransportFactory;
v := @parameter: java.net.URI;
v := @parameter: javax.net.ServerSocketFactory;
v := @parameter: org.apache.activemq.broker.BrokerService;
v := @parameter: java.util.Set;
specialinvoke v.<org.apache.activemq.transport.auto.AutoTcpTransportServer: void <init>(org.apache.activemq.transport.tcp.TcpTransportFactory,java.net.URI,javax.net.ServerSocketFactory,org.apache.activemq.broker.BrokerService,java.util.Set)>(v, v, v, v, v);
v.<org.apache.activemq.transport.auto.nio.AutoNIOSSLTransportServer: javax.net.ssl.SSLContext context> = v;
return;
}
protected org.apache.activemq.transport.Transport createTransport(java.net.Socket, org.apache.activemq.wireformat.WireFormat, javax.net.ssl.SSLEngine, org.apache.activemq.transport.tcp.TcpTransport$InitBuffer, java.nio.ByteBuffer, org.apache.activemq.transport.tcp.TcpTransportFactory) throws java.io.IOException
{
org.apache.activemq.transport.tcp.TcpTransport$InitBuffer v;
java.net.Socket v;
javax.net.ssl.SSLContext v, v;
org.apache.activemq.transport.tcp.TcpTransportFactory v;
org.apache.activemq.wireformat.WireFormat v;
java.nio.ByteBuffer v;
javax.net.ssl.SSLEngine v;
org.apache.activemq.transport.nio.NIOSSLTransport v;
boolean v, v;
org.apache.activemq.transport.auto.nio.AutoNIOSSLTransportServer v;
v := @this: org.apache.activemq.transport.auto.nio.AutoNIOSSLTransportServer;
v := @parameter: java.net.Socket;
v := @parameter: org.apache.activemq.wireformat.WireFormat;
v := @parameter: javax.net.ssl.SSLEngine;
v := @parameter: org.apache.activemq.transport.tcp.TcpTransport$InitBuffer;
v := @parameter: java.nio.ByteBuffer;
v := @parameter: org.apache.activemq.transport.tcp.TcpTransportFactory;
v = new org.apache.activemq.transport.nio.NIOSSLTransport;
specialinvoke v.<org.apache.activemq.transport.nio.NIOSSLTransport: void <init>(org.apache.activemq.wireformat.WireFormat,java.net.Socket,javax.net.ssl.SSLEngine,org.apache.activemq.transport.tcp.TcpTransport$InitBuffer,java.nio.ByteBuffer)>(v, v, v, v, v);
v = v.<org.apache.activemq.transport.auto.nio.AutoNIOSSLTransportServer: javax.net.ssl.SSLContext context>;
if v == null goto label;
v = v.<org.apache.activemq.transport.auto.nio.AutoNIOSSLTransportServer: javax.net.ssl.SSLContext context>;
virtualinvoke v.<org.apache.activemq.transport.nio.NIOSSLTransport: void setSslContext(javax.net.ssl.SSLContext)>(v);
label:
v = v.<org.apache.activemq.transport.auto.nio.AutoNIOSSLTransportServer: boolean needClientAuth>;
virtualinvoke v.<org.apache.activemq.transport.nio.NIOSSLTransport: void setNeedClientAuth(boolean)>(v);
v = v.<org.apache.activemq.transport.auto.nio.AutoNIOSSLTransportServer: boolean wantClientAuth>;
virtualinvoke v.<org.apache.activemq.transport.nio.NIOSSLTransport: void setWantClientAuth(boolean)>(v);
return v;
}
protected org.apache.activemq.transport.tcp.TcpTransport createTransport(java.net.Socket, org.apache.activemq.wireformat.WireFormat) throws java.io.IOException
{
java.lang.UnsupportedOperationException v;
java.net.Socket v;
org.apache.activemq.wireformat.WireFormat v;
org.apache.activemq.transport.auto.nio.AutoNIOSSLTransportServer v;
v := @this: org.apache.activemq.transport.auto.nio.AutoNIOSSLTransportServer;
v := @parameter: java.net.Socket;
v := @parameter: org.apache.activemq.wireformat.WireFormat;
v = new java.lang.UnsupportedOperationException;
specialinvoke v.<java.lang.UnsupportedOperationException: void <init>(java.lang.String)>("method not supported");
throw v;
}
public boolean isSslServer()
{
org.apache.activemq.transport.auto.nio.AutoNIOSSLTransportServer v;
v := @this: org.apache.activemq.transport.auto.nio.AutoNIOSSLTransportServer;
return 1;
}
public boolean isNeedClientAuth()
{
boolean v;
org.apache.activemq.transport.auto.nio.AutoNIOSSLTransportServer v;
v := @this: org.apache.activemq.transport.auto.nio.AutoNIOSSLTransportServer;
v = v.<org.apache.activemq.transport.auto.nio.AutoNIOSSLTransportServer: boolean needClientAuth>;
return v;
}
public void setNeedClientAuth(boolean)
{
boolean v;
org.apache.activemq.transport.auto.nio.AutoNIOSSLTransportServer v;
v := @this: org.apache.activemq.transport.auto.nio.AutoNIOSSLTransportServer;
v := @parameter: boolean;
v.<org.apache.activemq.transport.auto.nio.AutoNIOSSLTransportServer: boolean needClientAuth> = v;
return;
}
public boolean isWantClientAuth()
{
boolean v;
org.apache.activemq.transport.auto.nio.AutoNIOSSLTransportServer v;
v := @this: org.apache.activemq.transport.auto.nio.AutoNIOSSLTransportServer;
v = v.<org.apache.activemq.transport.auto.nio.AutoNIOSSLTransportServer: boolean wantClientAuth>;
return v;
}
public void setWantClientAuth(boolean)
{
boolean v;
org.apache.activemq.transport.auto.nio.AutoNIOSSLTransportServer v;
v := @this: org.apache.activemq.transport.auto.nio.AutoNIOSSLTransportServer;
v := @parameter: boolean;
v.<org.apache.activemq.transport.auto.nio.AutoNIOSSLTransportServer: boolean wantClientAuth> = v;
return;
}
protected org.apache.activemq.transport.tcp.TcpTransportServer$TransportInfo configureTransport(org.apache.activemq.transport.tcp.TcpTransportServer, java.net.Socket) throws java.lang.Exception
{
byte[] v, v, v;
javax.net.ssl.SSLContext v, v;
org.apache.activemq.transport.tcp.TcpTransportFactory v, v, v, v;
java.nio.ByteBuffer v, v, v;
java.util.concurrent.Future v;
java.util.concurrent.atomic.AtomicInteger v, v;
org.apache.activemq.transport.tcp.TcpTransportServer v;
java.util.Map v, v;
org.apache.activemq.wireformat.WireFormatFactory v, v;
boolean v;
org.apache.activemq.transport.auto.nio.AutoNIOSSLTransportServer v;
org.apache.activemq.broker.BrokerService v;
org.apache.activemq.transport.tcp.TcpTransportServer$TransportInfo v;
org.apache.activemq.wireformat.WireFormat v, v;
org.apache.activemq.transport.Transport v;
java.lang.Throwable v;
org.apache.activemq.transport.tcp.TcpTransport$InitBuffer v;
java.net.Socket v;
java.util.concurrent.ThreadPoolExecutor v;
java.util.HashMap v;
javax.net.ssl.SSLEngine v;
org.apache.activemq.transport.auto.AutoTcpTransportServer$ProtocolInfo v;
int v, v;
org.apache.activemq.transport.auto.nio.AutoNIOSSLTransportServer$1 v;
org.apache.activemq.transport.nio.AutoInitNioSSLTransport v;
v := @this: org.apache.activemq.transport.auto.nio.AutoNIOSSLTransportServer;
v := @parameter: org.apache.activemq.transport.tcp.TcpTransportServer;
v := @parameter: java.net.Socket;
v = new org.apache.activemq.transport.nio.AutoInitNioSSLTransport;
v = v.<org.apache.activemq.transport.auto.nio.AutoNIOSSLTransportServer: org.apache.activemq.wireformat.WireFormatFactory wireFormatFactory>;
v = interfaceinvoke v.<org.apache.activemq.wireformat.WireFormatFactory: org.apache.activemq.wireformat.WireFormat createWireFormat()>();
specialinvoke v.<org.apache.activemq.transport.nio.AutoInitNioSSLTransport: void <init>(org.apache.activemq.wireformat.WireFormat,java.net.Socket)>(v, v);
v = v.<org.apache.activemq.transport.auto.nio.AutoNIOSSLTransportServer: javax.net.ssl.SSLContext context>;
if v == null goto label;
v = v.<org.apache.activemq.transport.auto.nio.AutoNIOSSLTransportServer: javax.net.ssl.SSLContext context>;
virtualinvoke v.<org.apache.activemq.transport.nio.AutoInitNioSSLTransport: void setSslContext(javax.net.ssl.SSLContext)>(v);
label:
v = v.<org.apache.activemq.transport.auto.nio.AutoNIOSSLTransportServer: java.util.Map transportOptions>;
if v == null goto label;
v = new java.util.HashMap;
v = v.<org.apache.activemq.transport.auto.nio.AutoNIOSSLTransportServer: java.util.Map transportOptions>;
specialinvoke v.<java.util.HashMap: void <init>(java.util.Map)>(v);
staticinvoke <org.apache.activemq.util.IntrospectionSupport: boolean setProperties(java.lang.Object,java.util.Map)>(v, v);
label:
v = v.<org.apache.activemq.transport.auto.nio.AutoNIOSSLTransportServer: java.util.concurrent.ThreadPoolExecutor protocolDetectionExecutor>;
v = new org.apache.activemq.transport.auto.nio.AutoNIOSSLTransportServer$1;
specialinvoke v.<org.apache.activemq.transport.auto.nio.AutoNIOSSLTransportServer$1: void <init>(org.apache.activemq.transport.auto.nio.AutoNIOSSLTransportServer,org.apache.activemq.transport.nio.AutoInitNioSSLTransport)>(v, v);
v = virtualinvoke v.<java.util.concurrent.ThreadPoolExecutor: java.util.concurrent.Future submit(java.lang.Runnable)>(v);
label:
v = virtualinvoke v.<org.apache.activemq.transport.nio.AutoInitNioSSLTransport: java.util.concurrent.atomic.AtomicInteger getReadSize()>();
virtualinvoke v.<org.apache.activemq.transport.auto.nio.AutoNIOSSLTransportServer: void waitForProtocolDetectionFinish(java.util.concurrent.Future,java.util.concurrent.atomic.AtomicInteger)>(v, v);
label:
interfaceinvoke v.<java.util.concurrent.Future: boolean cancel(boolean)>(1);
goto label;
label:
v := @caughtexception;
interfaceinvoke v.<java.util.concurrent.Future: boolean cancel(boolean)>(1);
throw v;
label:
virtualinvoke v.<org.apache.activemq.transport.nio.AutoInitNioSSLTransport: void stop()>();
v = new org.apache.activemq.transport.tcp.TcpTransport$InitBuffer;
v = virtualinvoke v.<org.apache.activemq.transport.nio.AutoInitNioSSLTransport: java.util.concurrent.atomic.AtomicInteger getReadSize()>();
v = virtualinvoke v.<java.util.concurrent.atomic.AtomicInteger: int get()>();
v = virtualinvoke v.<org.apache.activemq.transport.nio.AutoInitNioSSLTransport: byte[] getReadData()>();
v = lengthof v;
v = staticinvoke <java.nio.ByteBuffer: java.nio.ByteBuffer allocate(int)>(v);
specialinvoke v.<org.apache.activemq.transport.tcp.TcpTransport$InitBuffer: void <init>(int,java.nio.ByteBuffer)>(v, v);
v = v.<org.apache.activemq.transport.tcp.TcpTransport$InitBuffer: java.nio.ByteBuffer buffer>;
v = virtualinvoke v.<org.apache.activemq.transport.nio.AutoInitNioSSLTransport: byte[] getReadData()>();
virtualinvoke v.<java.nio.ByteBuffer: java.nio.ByteBuffer put(byte[])>(v);
v = virtualinvoke v.<org.apache.activemq.transport.nio.AutoInitNioSSLTransport: byte[] getReadData()>();
v = virtualinvoke v.<org.apache.activemq.transport.auto.nio.AutoNIOSSLTransportServer: org.apache.activemq.transport.auto.AutoTcpTransportServer$ProtocolInfo detectProtocol(byte[])>(v);
v = v.<org.apache.activemq.transport.auto.AutoTcpTransportServer$ProtocolInfo: org.apache.activemq.transport.tcp.TcpTransportFactory detectedTransportFactory>;
v = v instanceof org.apache.activemq.broker.BrokerServiceAware;
if v == 0 goto label;
v = v.<org.apache.activemq.transport.auto.AutoTcpTransportServer$ProtocolInfo: org.apache.activemq.transport.tcp.TcpTransportFactory detectedTransportFactory>;
v = v.<org.apache.activemq.transport.auto.nio.AutoNIOSSLTransportServer: org.apache.activemq.broker.BrokerService brokerService>;
interfaceinvoke v.<org.apache.activemq.broker.BrokerServiceAware: void setBrokerService(org.apache.activemq.broker.BrokerService)>(v);
label:
v = v.<org.apache.activemq.transport.auto.AutoTcpTransportServer$ProtocolInfo: org.apache.activemq.wireformat.WireFormatFactory detectedWireFormatFactory>;
v = interfaceinvoke v.<org.apache.activemq.wireformat.WireFormatFactory: org.apache.activemq.wireformat.WireFormat createWireFormat()>();
v = virtualinvoke v.<org.apache.activemq.transport.nio.AutoInitNioSSLTransport: javax.net.ssl.SSLEngine getSslSession()>();
v = virtualinvoke v.<org.apache.activemq.transport.nio.AutoInitNioSSLTransport: java.nio.ByteBuffer getInputBuffer()>();
v = v.<org.apache.activemq.transport.auto.AutoTcpTransportServer$ProtocolInfo: org.apache.activemq.transport.tcp.TcpTransportFactory detectedTransportFactory>;
v = virtualinvoke v.<org.apache.activemq.transport.auto.nio.AutoNIOSSLTransportServer: org.apache.activemq.transport.Transport createTransport(java.net.Socket,org.apache.activemq.wireformat.WireFormat,javax.net.ssl.SSLEngine,org.apache.activemq.transport.tcp.TcpTransport$InitBuffer,java.nio.ByteBuffer,org.apache.activemq.transport.tcp.TcpTransportFactory)>(v, v, v, v, v, v);
v = new org.apache.activemq.transport.tcp.TcpTransportServer$TransportInfo;
v = v.<org.apache.activemq.transport.auto.AutoTcpTransportServer$ProtocolInfo: org.apache.activemq.transport.tcp.TcpTransportFactory detectedTransportFactory>;
specialinvoke v.<org.apache.activemq.transport.tcp.TcpTransportServer$TransportInfo: void <init>(org.apache.activemq.transport.tcp.TcpTransportServer,org.apache.activemq.wireformat.WireFormat,org.apache.activemq.transport.Transport,org.apache.activemq.transport.TransportFactory)>(v, v, v, v);
return v;
catch java.lang.Throwable from label to label with label;
}
static void <clinit>()
{
org.slf4j.Logger v;
v = staticinvoke <org.slf4j.LoggerFactory: org.slf4j.Logger getLogger(java.lang.Class)>(class "Lorg/apache/activemq/transport/auto/nio/AutoNIOSSLTransportServer;");
<org.apache.activemq.transport.auto.nio.AutoNIOSSLTransportServer: org.slf4j.Logger LOG> = v;
return;
}
}