public class org.apache.activemq.transport.amqp.AmqpFrameParser extends java.lang.Object
{
private static final org.slf4j.Logger LOG;
private static final byte AMQP_FRAME_SIZE_BYTES;
private static final byte AMQP_HEADER_BYTES;
private final org.apache.activemq.transport.amqp.AmqpFrameParser$AMQPFrameSink frameSink;
private org.apache.activemq.transport.amqp.AmqpFrameParser$FrameParser currentParser;
private org.apache.activemq.transport.amqp.AmqpWireFormat wireFormat;
private final org.apache.activemq.transport.amqp.AmqpFrameParser$FrameParser headerReader;
private final org.apache.activemq.transport.amqp.AmqpFrameParser$FrameParser frameSizeReader;
private final org.apache.activemq.transport.amqp.AmqpFrameParser$FrameParser contentReader;
public void <init>(org.apache.activemq.transport.amqp.AmqpFrameParser$AMQPFrameSink)
{
org.apache.activemq.transport.amqp.AmqpFrameParser$5 v;
org.apache.activemq.transport.amqp.AmqpFrameParser v;
org.apache.activemq.transport.amqp.AmqpFrameParser$4 v;
org.apache.activemq.transport.amqp.AmqpFrameParser$3 v;
org.apache.activemq.transport.amqp.AmqpFrameParser$AMQPFrameSink v;
v := @this: org.apache.activemq.transport.amqp.AmqpFrameParser;
v := @parameter: org.apache.activemq.transport.amqp.AmqpFrameParser$AMQPFrameSink;
specialinvoke v.<java.lang.Object: void <init>()>();
v = new org.apache.activemq.transport.amqp.AmqpFrameParser$3;
specialinvoke v.<org.apache.activemq.transport.amqp.AmqpFrameParser$3: void <init>(org.apache.activemq.transport.amqp.AmqpFrameParser)>(v);
v.<org.apache.activemq.transport.amqp.AmqpFrameParser: org.apache.activemq.transport.amqp.AmqpFrameParser$FrameParser headerReader> = v;
v = new org.apache.activemq.transport.amqp.AmqpFrameParser$4;
specialinvoke v.<org.apache.activemq.transport.amqp.AmqpFrameParser$4: void <init>(org.apache.activemq.transport.amqp.AmqpFrameParser)>(v);
v.<org.apache.activemq.transport.amqp.AmqpFrameParser: org.apache.activemq.transport.amqp.AmqpFrameParser$FrameParser frameSizeReader> = v;
v = new org.apache.activemq.transport.amqp.AmqpFrameParser$5;
specialinvoke v.<org.apache.activemq.transport.amqp.AmqpFrameParser$5: void <init>(org.apache.activemq.transport.amqp.AmqpFrameParser)>(v);
v.<org.apache.activemq.transport.amqp.AmqpFrameParser: org.apache.activemq.transport.amqp.AmqpFrameParser$FrameParser contentReader> = v;
v.<org.apache.activemq.transport.amqp.AmqpFrameParser: org.apache.activemq.transport.amqp.AmqpFrameParser$AMQPFrameSink frameSink> = v;
return;
}
public void <init>(org.apache.activemq.transport.tcp.TcpTransport)
{
org.apache.activemq.transport.amqp.AmqpFrameParser$1 v;
org.apache.activemq.transport.amqp.AmqpFrameParser$5 v;
org.apache.activemq.transport.amqp.AmqpFrameParser v;
org.apache.activemq.transport.amqp.AmqpFrameParser$4 v;
org.apache.activemq.transport.tcp.TcpTransport v;
org.apache.activemq.transport.amqp.AmqpFrameParser$3 v;
v := @this: org.apache.activemq.transport.amqp.AmqpFrameParser;
v := @parameter: org.apache.activemq.transport.tcp.TcpTransport;
specialinvoke v.<java.lang.Object: void <init>()>();
v = new org.apache.activemq.transport.amqp.AmqpFrameParser$3;
specialinvoke v.<org.apache.activemq.transport.amqp.AmqpFrameParser$3: void <init>(org.apache.activemq.transport.amqp.AmqpFrameParser)>(v);
v.<org.apache.activemq.transport.amqp.AmqpFrameParser: org.apache.activemq.transport.amqp.AmqpFrameParser$FrameParser headerReader> = v;
v = new org.apache.activemq.transport.amqp.AmqpFrameParser$4;
specialinvoke v.<org.apache.activemq.transport.amqp.AmqpFrameParser$4: void <init>(org.apache.activemq.transport.amqp.AmqpFrameParser)>(v);
v.<org.apache.activemq.transport.amqp.AmqpFrameParser: org.apache.activemq.transport.amqp.AmqpFrameParser$FrameParser frameSizeReader> = v;
v = new org.apache.activemq.transport.amqp.AmqpFrameParser$5;
specialinvoke v.<org.apache.activemq.transport.amqp.AmqpFrameParser$5: void <init>(org.apache.activemq.transport.amqp.AmqpFrameParser)>(v);
v.<org.apache.activemq.transport.amqp.AmqpFrameParser: org.apache.activemq.transport.amqp.AmqpFrameParser$FrameParser contentReader> = v;
v = new org.apache.activemq.transport.amqp.AmqpFrameParser$1;
specialinvoke v.<org.apache.activemq.transport.amqp.AmqpFrameParser$1: void <init>(org.apache.activemq.transport.amqp.AmqpFrameParser,org.apache.activemq.transport.tcp.TcpTransport)>(v, v);
v.<org.apache.activemq.transport.amqp.AmqpFrameParser: org.apache.activemq.transport.amqp.AmqpFrameParser$AMQPFrameSink frameSink> = v;
return;
}
public void parse(java.nio.ByteBuffer) throws java.lang.Exception
{
org.apache.activemq.transport.amqp.AmqpFrameParser v;
org.apache.activemq.transport.amqp.AmqpFrameParser$FrameParser v, v, v;
java.nio.ByteBuffer v;
boolean v;
v := @this: org.apache.activemq.transport.amqp.AmqpFrameParser;
v := @parameter: java.nio.ByteBuffer;
if v == null goto label;
v = virtualinvoke v.<java.nio.ByteBuffer: boolean hasRemaining()>();
if v != 0 goto label;
label:
return;
label:
v = v.<org.apache.activemq.transport.amqp.AmqpFrameParser: org.apache.activemq.transport.amqp.AmqpFrameParser$FrameParser currentParser>;
if v != null goto label;
v = specialinvoke v.<org.apache.activemq.transport.amqp.AmqpFrameParser: org.apache.activemq.transport.amqp.AmqpFrameParser$FrameParser initializeHeaderParser()>();
v.<org.apache.activemq.transport.amqp.AmqpFrameParser: org.apache.activemq.transport.amqp.AmqpFrameParser$FrameParser currentParser> = v;
label:
v = v.<org.apache.activemq.transport.amqp.AmqpFrameParser: org.apache.activemq.transport.amqp.AmqpFrameParser$FrameParser currentParser>;
interfaceinvoke v.<org.apache.activemq.transport.amqp.AmqpFrameParser$FrameParser: void parse(java.nio.ByteBuffer)>(v);
return;
}
public void reset()
{
org.apache.activemq.transport.amqp.AmqpFrameParser v;
org.apache.activemq.transport.amqp.AmqpFrameParser$FrameParser v;
v := @this: org.apache.activemq.transport.amqp.AmqpFrameParser;
v = specialinvoke v.<org.apache.activemq.transport.amqp.AmqpFrameParser: org.apache.activemq.transport.amqp.AmqpFrameParser$FrameParser initializeHeaderParser()>();
v.<org.apache.activemq.transport.amqp.AmqpFrameParser: org.apache.activemq.transport.amqp.AmqpFrameParser$FrameParser currentParser> = v;
return;
}
private void validateFrameSize(int) throws java.io.IOException
{
byte v;
org.apache.activemq.transport.amqp.AmqpWireFormat v, v;
int v;
java.io.IOException v;
long v;
org.apache.activemq.transport.amqp.AmqpFrameParser v;
v := @this: org.apache.activemq.transport.amqp.AmqpFrameParser;
v := @parameter: int;
v = 9223372036854775807L;
v = v.<org.apache.activemq.transport.amqp.AmqpFrameParser: org.apache.activemq.transport.amqp.AmqpWireFormat wireFormat>;
if v == null goto label;
v = v.<org.apache.activemq.transport.amqp.AmqpFrameParser: org.apache.activemq.transport.amqp.AmqpWireFormat wireFormat>;
v = virtualinvoke v.<org.apache.activemq.transport.amqp.AmqpWireFormat: long getMaxFrameSize()>();
label:
v = v cmp v;
if v <= 0 goto label;
v = staticinvoke <org.apache.activemq.util.IOExceptionSupport: java.io.IOException createFrameSizeException(int,long)>(v, v);
throw v;
label:
return;
}
public void setWireFormat(org.apache.activemq.transport.amqp.AmqpWireFormat)
{
org.apache.activemq.transport.amqp.AmqpFrameParser v;
org.apache.activemq.transport.amqp.AmqpFrameParser$2 v;
org.apache.activemq.transport.amqp.AmqpWireFormat v;
v := @this: org.apache.activemq.transport.amqp.AmqpFrameParser;
v := @parameter: org.apache.activemq.transport.amqp.AmqpWireFormat;
v.<org.apache.activemq.transport.amqp.AmqpFrameParser: org.apache.activemq.transport.amqp.AmqpWireFormat wireFormat> = v;
if v == null goto label;
v = new org.apache.activemq.transport.amqp.AmqpFrameParser$2;
specialinvoke v.<org.apache.activemq.transport.amqp.AmqpFrameParser$2: void <init>(org.apache.activemq.transport.amqp.AmqpFrameParser)>(v);
virtualinvoke v.<org.apache.activemq.transport.amqp.AmqpWireFormat: void setProtocolResetListener(org.apache.activemq.transport.amqp.AmqpWireFormat$ResetListener)>(v);
label:
return;
}
public org.apache.activemq.transport.amqp.AmqpWireFormat getWireFormat()
{
org.apache.activemq.transport.amqp.AmqpFrameParser v;
org.apache.activemq.transport.amqp.AmqpWireFormat v;
v := @this: org.apache.activemq.transport.amqp.AmqpFrameParser;
v = v.<org.apache.activemq.transport.amqp.AmqpFrameParser: org.apache.activemq.transport.amqp.AmqpWireFormat wireFormat>;
return v;
}
private org.apache.activemq.transport.amqp.AmqpFrameParser$FrameParser initializeHeaderParser()
{
org.apache.activemq.transport.amqp.AmqpFrameParser v;
org.apache.activemq.transport.amqp.AmqpFrameParser$FrameParser v, v;
v := @this: org.apache.activemq.transport.amqp.AmqpFrameParser;
v = v.<org.apache.activemq.transport.amqp.AmqpFrameParser: org.apache.activemq.transport.amqp.AmqpFrameParser$FrameParser headerReader>;
interfaceinvoke v.<org.apache.activemq.transport.amqp.AmqpFrameParser$FrameParser: void reset(int)>(8);
v = v.<org.apache.activemq.transport.amqp.AmqpFrameParser: org.apache.activemq.transport.amqp.AmqpFrameParser$FrameParser headerReader>;
return v;
}
private org.apache.activemq.transport.amqp.AmqpFrameParser$FrameParser initializeFrameLengthParser()
{
org.apache.activemq.transport.amqp.AmqpFrameParser v;
org.apache.activemq.transport.amqp.AmqpFrameParser$FrameParser v, v;
v := @this: org.apache.activemq.transport.amqp.AmqpFrameParser;
v = v.<org.apache.activemq.transport.amqp.AmqpFrameParser: org.apache.activemq.transport.amqp.AmqpFrameParser$FrameParser frameSizeReader>;
interfaceinvoke v.<org.apache.activemq.transport.amqp.AmqpFrameParser$FrameParser: void reset(int)>(4);
v = v.<org.apache.activemq.transport.amqp.AmqpFrameParser: org.apache.activemq.transport.amqp.AmqpFrameParser$FrameParser frameSizeReader>;
return v;
}
private org.apache.activemq.transport.amqp.AmqpFrameParser$FrameParser initializeContentReader(int)
{
int v;
org.apache.activemq.transport.amqp.AmqpFrameParser v;
org.apache.activemq.transport.amqp.AmqpFrameParser$FrameParser v, v;
v := @this: org.apache.activemq.transport.amqp.AmqpFrameParser;
v := @parameter: int;
v = v.<org.apache.activemq.transport.amqp.AmqpFrameParser: org.apache.activemq.transport.amqp.AmqpFrameParser$FrameParser contentReader>;
interfaceinvoke v.<org.apache.activemq.transport.amqp.AmqpFrameParser$FrameParser: void reset(int)>(v);
v = v.<org.apache.activemq.transport.amqp.AmqpFrameParser: org.apache.activemq.transport.amqp.AmqpFrameParser$FrameParser contentReader>;
return v;
}
static void <clinit>()
{
org.slf4j.Logger v;
v = staticinvoke <org.slf4j.LoggerFactory: org.slf4j.Logger getLogger(java.lang.Class)>(class "Lorg/apache/activemq/transport/amqp/AmqpFrameParser;");
<org.apache.activemq.transport.amqp.AmqpFrameParser: org.slf4j.Logger LOG> = v;
return;
}
}