public class org.apache.activemq.transport.amqp.AmqpNioSslTransport extends org.apache.activemq.transport.nio.NIOSSLTransport
{
private final org.apache.activemq.transport.amqp.AmqpFrameParser frameReader;
public void <init>(org.apache.activemq.wireformat.WireFormat, javax.net.SocketFactory, java.net.URI, java.net.URI) throws java.net.UnknownHostException, java.io.IOException
{
javax.net.SocketFactory v;
org.apache.activemq.wireformat.WireFormat v;
org.apache.activemq.transport.amqp.AmqpFrameParser v, v;
java.net.URI v, v;
org.apache.activemq.transport.amqp.AmqpNioSslTransport v;
v := @this: org.apache.activemq.transport.amqp.AmqpNioSslTransport;
v := @parameter: org.apache.activemq.wireformat.WireFormat;
v := @parameter: javax.net.SocketFactory;
v := @parameter: java.net.URI;
v := @parameter: java.net.URI;
specialinvoke v.<org.apache.activemq.transport.nio.NIOSSLTransport: void <init>(org.apache.activemq.wireformat.WireFormat,javax.net.SocketFactory,java.net.URI,java.net.URI)>(v, v, v, v);
v = new org.apache.activemq.transport.amqp.AmqpFrameParser;
specialinvoke v.<org.apache.activemq.transport.amqp.AmqpFrameParser: void <init>(org.apache.activemq.transport.tcp.TcpTransport)>(v);
v.<org.apache.activemq.transport.amqp.AmqpNioSslTransport: org.apache.activemq.transport.amqp.AmqpFrameParser frameReader> = v;
v = v.<org.apache.activemq.transport.amqp.AmqpNioSslTransport: org.apache.activemq.transport.amqp.AmqpFrameParser frameReader>;
virtualinvoke v.<org.apache.activemq.transport.amqp.AmqpFrameParser: void setWireFormat(org.apache.activemq.transport.amqp.AmqpWireFormat)>(v);
return;
}
public void <init>(org.apache.activemq.wireformat.WireFormat, java.net.Socket) throws java.io.IOException
{
java.net.Socket v;
org.apache.activemq.wireformat.WireFormat v;
org.apache.activemq.transport.amqp.AmqpFrameParser v, v;
org.apache.activemq.transport.amqp.AmqpNioSslTransport v;
v := @this: org.apache.activemq.transport.amqp.AmqpNioSslTransport;
v := @parameter: org.apache.activemq.wireformat.WireFormat;
v := @parameter: java.net.Socket;
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, null, null, null);
v = new org.apache.activemq.transport.amqp.AmqpFrameParser;
specialinvoke v.<org.apache.activemq.transport.amqp.AmqpFrameParser: void <init>(org.apache.activemq.transport.tcp.TcpTransport)>(v);
v.<org.apache.activemq.transport.amqp.AmqpNioSslTransport: org.apache.activemq.transport.amqp.AmqpFrameParser frameReader> = v;
v = v.<org.apache.activemq.transport.amqp.AmqpNioSslTransport: org.apache.activemq.transport.amqp.AmqpFrameParser frameReader>;
virtualinvoke v.<org.apache.activemq.transport.amqp.AmqpFrameParser: void setWireFormat(org.apache.activemq.transport.amqp.AmqpWireFormat)>(v);
return;
}
public void <init>(org.apache.activemq.wireformat.WireFormat, java.net.Socket, javax.net.ssl.SSLEngine, org.apache.activemq.transport.tcp.TcpTransport$InitBuffer, java.nio.ByteBuffer) throws java.io.IOException
{
org.apache.activemq.transport.tcp.TcpTransport$InitBuffer v;
java.net.Socket v;
org.apache.activemq.wireformat.WireFormat v;
org.apache.activemq.transport.amqp.AmqpFrameParser v, v;
java.nio.ByteBuffer v;
javax.net.ssl.SSLEngine v;
org.apache.activemq.transport.amqp.AmqpNioSslTransport v;
v := @this: org.apache.activemq.transport.amqp.AmqpNioSslTransport;
v := @parameter: org.apache.activemq.wireformat.WireFormat;
v := @parameter: java.net.Socket;
v := @parameter: javax.net.ssl.SSLEngine;
v := @parameter: org.apache.activemq.transport.tcp.TcpTransport$InitBuffer;
v := @parameter: java.nio.ByteBuffer;
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 = new org.apache.activemq.transport.amqp.AmqpFrameParser;
specialinvoke v.<org.apache.activemq.transport.amqp.AmqpFrameParser: void <init>(org.apache.activemq.transport.tcp.TcpTransport)>(v);
v.<org.apache.activemq.transport.amqp.AmqpNioSslTransport: org.apache.activemq.transport.amqp.AmqpFrameParser frameReader> = v;
v = v.<org.apache.activemq.transport.amqp.AmqpNioSslTransport: org.apache.activemq.transport.amqp.AmqpFrameParser frameReader>;
virtualinvoke v.<org.apache.activemq.transport.amqp.AmqpFrameParser: void setWireFormat(org.apache.activemq.transport.amqp.AmqpWireFormat)>(v);
return;
}
protected void initializeStreams() throws java.io.IOException
{
int v;
org.apache.activemq.transport.amqp.AmqpNioSslTransport v;
java.nio.ByteBuffer v, v;
boolean v;
v := @this: org.apache.activemq.transport.amqp.AmqpNioSslTransport;
specialinvoke v.<org.apache.activemq.transport.nio.NIOSSLTransport: void initializeStreams()>();
v = v.<org.apache.activemq.transport.amqp.AmqpNioSslTransport: java.nio.ByteBuffer inputBuffer>;
v = virtualinvoke v.<java.nio.ByteBuffer: int position()>();
if v == 0 goto label;
v = v.<org.apache.activemq.transport.amqp.AmqpNioSslTransport: java.nio.ByteBuffer inputBuffer>;
v = virtualinvoke v.<java.nio.ByteBuffer: boolean hasRemaining()>();
if v == 0 goto label;
virtualinvoke v.<org.apache.activemq.transport.amqp.AmqpNioSslTransport: void serviceRead()>();
label:
return;
}
protected void processCommand(java.nio.ByteBuffer) throws java.lang.Exception
{
org.apache.activemq.transport.amqp.AmqpFrameParser v;
org.apache.activemq.transport.amqp.AmqpNioSslTransport v;
java.nio.ByteBuffer v;
v := @this: org.apache.activemq.transport.amqp.AmqpNioSslTransport;
v := @parameter: java.nio.ByteBuffer;
v = v.<org.apache.activemq.transport.amqp.AmqpNioSslTransport: org.apache.activemq.transport.amqp.AmqpFrameParser frameReader>;
virtualinvoke v.<org.apache.activemq.transport.amqp.AmqpFrameParser: void parse(java.nio.ByteBuffer)>(v);
return;
}
protected void doInit() throws java.lang.Exception
{
int v;
org.apache.activemq.transport.tcp.TcpTransport$InitBuffer v;
org.apache.activemq.transport.amqp.AmqpNioSslTransport v;
v := @this: org.apache.activemq.transport.amqp.AmqpNioSslTransport;
v = v.<org.apache.activemq.transport.amqp.AmqpNioSslTransport: org.apache.activemq.transport.tcp.TcpTransport$InitBuffer initBuffer>;
if v == null goto label;
v = (int) -1;
v.<org.apache.activemq.transport.amqp.AmqpNioSslTransport: int nextFrameSize> = v;
label:
specialinvoke v.<org.apache.activemq.transport.nio.NIOSSLTransport: void doInit()>();
return;
}
protected int secureRead(java.nio.ByteBuffer) throws java.lang.Exception
{
org.apache.activemq.transport.tcp.TcpTransport$InitBuffer v, v, v, v, v;
java.nio.ByteBuffer v, v, v, v, v;
byte v;
int v, v;
org.apache.activemq.transport.amqp.AmqpNioSslTransport v;
boolean v;
v := @this: org.apache.activemq.transport.amqp.AmqpNioSslTransport;
v := @parameter: java.nio.ByteBuffer;
v = v.<org.apache.activemq.transport.amqp.AmqpNioSslTransport: org.apache.activemq.transport.tcp.TcpTransport$InitBuffer initBuffer>;
if v == null goto label;
v = v.<org.apache.activemq.transport.amqp.AmqpNioSslTransport: org.apache.activemq.transport.tcp.TcpTransport$InitBuffer initBuffer>;
v = v.<org.apache.activemq.transport.tcp.TcpTransport$InitBuffer: java.nio.ByteBuffer buffer>;
virtualinvoke v.<java.nio.ByteBuffer: java.nio.ByteBuffer flip()>();
v = v.<org.apache.activemq.transport.amqp.AmqpNioSslTransport: org.apache.activemq.transport.tcp.TcpTransport$InitBuffer initBuffer>;
v = v.<org.apache.activemq.transport.tcp.TcpTransport$InitBuffer: java.nio.ByteBuffer buffer>;
v = virtualinvoke v.<java.nio.ByteBuffer: boolean hasRemaining()>();
if v == 0 goto label;
virtualinvoke v.<java.nio.ByteBuffer: java.nio.ByteBuffer flip()>();
v = 0;
label:
if v >= 8 goto label;
v = v.<org.apache.activemq.transport.amqp.AmqpNioSslTransport: org.apache.activemq.transport.tcp.TcpTransport$InitBuffer initBuffer>;
v = v.<org.apache.activemq.transport.tcp.TcpTransport$InitBuffer: java.nio.ByteBuffer buffer>;
v = virtualinvoke v.<java.nio.ByteBuffer: byte get()>();
virtualinvoke v.<java.nio.ByteBuffer: java.nio.ByteBuffer put(byte)>(v);
v = v + 1;
goto label;
label:
virtualinvoke v.<java.nio.ByteBuffer: java.nio.ByteBuffer flip()>();
virtualinvoke v.<org.apache.activemq.transport.amqp.AmqpNioSslTransport: void processCommand(java.nio.ByteBuffer)>(v);
v = v.<org.apache.activemq.transport.amqp.AmqpNioSslTransport: org.apache.activemq.transport.tcp.TcpTransport$InitBuffer initBuffer>;
v = v.<org.apache.activemq.transport.tcp.TcpTransport$InitBuffer: java.nio.ByteBuffer buffer>;
virtualinvoke v.<java.nio.ByteBuffer: java.nio.ByteBuffer clear()>();
return 8;
label:
v = specialinvoke v.<org.apache.activemq.transport.nio.NIOSSLTransport: int secureRead(java.nio.ByteBuffer)>(v);
return v;
}
}