public class org.fusesource.mqtt.codec.PUBLISH extends org.fusesource.mqtt.codec.MessageSupport$HeaderBase implements org.fusesource.mqtt.codec.MessageSupport$Message, org.fusesource.mqtt.codec.MessageSupport$Acked
{
public static final byte TYPE;
private org.fusesource.hawtbuf.UTF8Buffer topicName;
private short messageId;
private org.fusesource.hawtbuf.Buffer payload;
static final boolean $assertionsDisabled;
public void <init>()
{
org.fusesource.mqtt.client.QoS v;
org.fusesource.mqtt.codec.PUBLISH v;
v := @this: org.fusesource.mqtt.codec.PUBLISH;
specialinvoke v.<org.fusesource.mqtt.codec.MessageSupport$HeaderBase: void <init>()>();
v = <org.fusesource.mqtt.client.QoS: org.fusesource.mqtt.client.QoS AT_LEAST_ONCE>;
virtualinvoke v.<org.fusesource.mqtt.codec.PUBLISH: org.fusesource.mqtt.codec.PUBLISH qos(org.fusesource.mqtt.client.QoS)>(v);
return;
}
public byte messageType()
{
org.fusesource.mqtt.codec.PUBLISH v;
v := @this: org.fusesource.mqtt.codec.PUBLISH;
return 3;
}
public org.fusesource.mqtt.codec.PUBLISH decode(org.fusesource.mqtt.codec.MQTTFrame) throws java.net.ProtocolException
{
org.fusesource.hawtbuf.DataByteArrayInputStream v;
java.lang.AssertionError v;
org.fusesource.hawtbuf.Buffer v, v, v, v;
org.fusesource.mqtt.client.QoS v, v;
short v;
byte v;
int v, v;
org.fusesource.hawtbuf.Buffer[] v, v;
boolean v;
org.fusesource.mqtt.codec.MQTTFrame v;
org.fusesource.mqtt.codec.PUBLISH v;
org.fusesource.hawtbuf.UTF8Buffer v;
v := @this: org.fusesource.mqtt.codec.PUBLISH;
v := @parameter: org.fusesource.mqtt.codec.MQTTFrame;
v = <org.fusesource.mqtt.codec.PUBLISH: boolean $assertionsDisabled>;
if v != 0 goto label;
v = v.<org.fusesource.mqtt.codec.MQTTFrame: org.fusesource.hawtbuf.Buffer[] buffers>;
v = lengthof v;
if v == 1 goto label;
v = new java.lang.AssertionError;
specialinvoke v.<java.lang.AssertionError: void <init>()>();
throw v;
label:
v = virtualinvoke v.<org.fusesource.mqtt.codec.MQTTFrame: byte header()>();
virtualinvoke v.<org.fusesource.mqtt.codec.PUBLISH: org.fusesource.mqtt.codec.MessageSupport$HeaderBase header(byte)>(v);
v = new org.fusesource.hawtbuf.DataByteArrayInputStream;
v = v.<org.fusesource.mqtt.codec.MQTTFrame: org.fusesource.hawtbuf.Buffer[] buffers>;
v = v[0];
specialinvoke v.<org.fusesource.hawtbuf.DataByteArrayInputStream: void <init>(org.fusesource.hawtbuf.Buffer)>(v);
v = staticinvoke <org.fusesource.mqtt.codec.MessageSupport: org.fusesource.hawtbuf.UTF8Buffer readUTF(org.fusesource.hawtbuf.DataByteArrayInputStream)>(v);
v.<org.fusesource.mqtt.codec.PUBLISH: org.fusesource.hawtbuf.UTF8Buffer topicName> = v;
v = virtualinvoke v.<org.fusesource.mqtt.codec.PUBLISH: org.fusesource.mqtt.client.QoS qos()>();
v = <org.fusesource.mqtt.client.QoS: org.fusesource.mqtt.client.QoS AT_MOST_ONCE>;
if v == v goto label;
v = virtualinvoke v.<org.fusesource.hawtbuf.DataByteArrayInputStream: short readShort()>();
v.<org.fusesource.mqtt.codec.PUBLISH: short messageId> = v;
label:
v = virtualinvoke v.<org.fusesource.hawtbuf.DataByteArrayInputStream: int available()>();
v = virtualinvoke v.<org.fusesource.hawtbuf.DataByteArrayInputStream: org.fusesource.hawtbuf.Buffer readBuffer(int)>(v);
v.<org.fusesource.mqtt.codec.PUBLISH: org.fusesource.hawtbuf.Buffer payload> = v;
v = v.<org.fusesource.mqtt.codec.PUBLISH: org.fusesource.hawtbuf.Buffer payload>;
if v != null goto label;
v = new org.fusesource.hawtbuf.Buffer;
specialinvoke v.<org.fusesource.hawtbuf.Buffer: void <init>(int)>(0);
v.<org.fusesource.mqtt.codec.PUBLISH: org.fusesource.hawtbuf.Buffer payload> = v;
label:
return v;
}
public org.fusesource.mqtt.codec.MQTTFrame encode()
{
org.fusesource.mqtt.codec.MQTTFrame v;
org.fusesource.hawtbuf.DataByteArrayOutputStream v;
java.io.IOException v;
java.lang.RuntimeException v;
org.fusesource.hawtbuf.Buffer v, v, v, v;
org.fusesource.mqtt.client.QoS v, v;
org.fusesource.mqtt.codec.PUBLISH v;
short v;
byte v;
org.fusesource.hawtbuf.UTF8Buffer v;
int v;
v := @this: org.fusesource.mqtt.codec.PUBLISH;
label:
v = new org.fusesource.hawtbuf.DataByteArrayOutputStream;
specialinvoke v.<org.fusesource.hawtbuf.DataByteArrayOutputStream: void <init>()>();
v = v.<org.fusesource.mqtt.codec.PUBLISH: org.fusesource.hawtbuf.UTF8Buffer topicName>;
staticinvoke <org.fusesource.mqtt.codec.MessageSupport: void writeUTF(org.fusesource.hawtbuf.DataByteArrayOutputStream,org.fusesource.hawtbuf.Buffer)>(v, v);
v = virtualinvoke v.<org.fusesource.mqtt.codec.PUBLISH: org.fusesource.mqtt.client.QoS qos()>();
v = <org.fusesource.mqtt.client.QoS: org.fusesource.mqtt.client.QoS AT_MOST_ONCE>;
if v == v goto label;
v = v.<org.fusesource.mqtt.codec.PUBLISH: short messageId>;
virtualinvoke v.<org.fusesource.hawtbuf.DataByteArrayOutputStream: void writeShort(int)>(v);
label:
v = new org.fusesource.mqtt.codec.MQTTFrame;
specialinvoke v.<org.fusesource.mqtt.codec.MQTTFrame: void <init>()>();
v = virtualinvoke v.<org.fusesource.mqtt.codec.PUBLISH: byte header()>();
virtualinvoke v.<org.fusesource.mqtt.codec.MQTTFrame: org.fusesource.mqtt.codec.MQTTFrame header(byte)>(v);
virtualinvoke v.<org.fusesource.mqtt.codec.MQTTFrame: org.fusesource.mqtt.codec.MQTTFrame commandType(int)>(3);
v = v.<org.fusesource.mqtt.codec.PUBLISH: org.fusesource.hawtbuf.Buffer payload>;
if v == null goto label;
v = v.<org.fusesource.mqtt.codec.PUBLISH: org.fusesource.hawtbuf.Buffer payload>;
v = v.<org.fusesource.hawtbuf.Buffer: int length>;
if v == 0 goto label;
v = v.<org.fusesource.mqtt.codec.PUBLISH: org.fusesource.hawtbuf.Buffer payload>;
virtualinvoke v.<org.fusesource.hawtbuf.DataByteArrayOutputStream: void write(org.fusesource.hawtbuf.Buffer)>(v);
label:
v = virtualinvoke v.<org.fusesource.hawtbuf.DataByteArrayOutputStream: org.fusesource.hawtbuf.Buffer toBuffer()>();
virtualinvoke v.<org.fusesource.mqtt.codec.MQTTFrame: org.fusesource.mqtt.codec.MQTTFrame buffer(org.fusesource.hawtbuf.Buffer)>(v);
label:
return v;
label:
v := @caughtexception;
v = new java.lang.RuntimeException;
specialinvoke v.<java.lang.RuntimeException: void <init>(java.lang.String)>("The impossible happened");
throw v;
catch java.io.IOException from label to label with label;
}
public boolean dup()
{
org.fusesource.mqtt.codec.PUBLISH v;
boolean v;
v := @this: org.fusesource.mqtt.codec.PUBLISH;
v = specialinvoke v.<org.fusesource.mqtt.codec.MessageSupport$HeaderBase: boolean dup()>();
return v;
}
public org.fusesource.mqtt.codec.PUBLISH dup(boolean)
{
org.fusesource.mqtt.codec.MessageSupport$HeaderBase v;
org.fusesource.mqtt.codec.PUBLISH v;
boolean v;
v := @this: org.fusesource.mqtt.codec.PUBLISH;
v := @parameter: boolean;
v = specialinvoke v.<org.fusesource.mqtt.codec.MessageSupport$HeaderBase: org.fusesource.mqtt.codec.MessageSupport$HeaderBase dup(boolean)>(v);
return v;
}
public org.fusesource.mqtt.client.QoS qos()
{
org.fusesource.mqtt.client.QoS v;
org.fusesource.mqtt.codec.PUBLISH v;
v := @this: org.fusesource.mqtt.codec.PUBLISH;
v = specialinvoke v.<org.fusesource.mqtt.codec.MessageSupport$HeaderBase: org.fusesource.mqtt.client.QoS qos()>();
return v;
}
public org.fusesource.mqtt.codec.PUBLISH qos(org.fusesource.mqtt.client.QoS)
{
org.fusesource.mqtt.codec.MessageSupport$HeaderBase v;
org.fusesource.mqtt.client.QoS v;
org.fusesource.mqtt.codec.PUBLISH v;
v := @this: org.fusesource.mqtt.codec.PUBLISH;
v := @parameter: org.fusesource.mqtt.client.QoS;
v = specialinvoke v.<org.fusesource.mqtt.codec.MessageSupport$HeaderBase: org.fusesource.mqtt.codec.MessageSupport$HeaderBase qos(org.fusesource.mqtt.client.QoS)>(v);
return v;
}
public boolean retain()
{
org.fusesource.mqtt.codec.PUBLISH v;
boolean v;
v := @this: org.fusesource.mqtt.codec.PUBLISH;
v = specialinvoke v.<org.fusesource.mqtt.codec.MessageSupport$HeaderBase: boolean retain()>();
return v;
}
public org.fusesource.mqtt.codec.PUBLISH retain(boolean)
{
org.fusesource.mqtt.codec.MessageSupport$HeaderBase v;
org.fusesource.mqtt.codec.PUBLISH v;
boolean v;
v := @this: org.fusesource.mqtt.codec.PUBLISH;
v := @parameter: boolean;
v = specialinvoke v.<org.fusesource.mqtt.codec.MessageSupport$HeaderBase: org.fusesource.mqtt.codec.MessageSupport$HeaderBase retain(boolean)>(v);
return v;
}
public short messageId()
{
short v;
org.fusesource.mqtt.codec.PUBLISH v;
v := @this: org.fusesource.mqtt.codec.PUBLISH;
v = v.<org.fusesource.mqtt.codec.PUBLISH: short messageId>;
return v;
}
public org.fusesource.mqtt.codec.PUBLISH messageId(short)
{
short v;
org.fusesource.mqtt.codec.PUBLISH v;
v := @this: org.fusesource.mqtt.codec.PUBLISH;
v := @parameter: short;
v.<org.fusesource.mqtt.codec.PUBLISH: short messageId> = v;
return v;
}
public org.fusesource.hawtbuf.Buffer payload()
{
org.fusesource.hawtbuf.Buffer v;
org.fusesource.mqtt.codec.PUBLISH v;
v := @this: org.fusesource.mqtt.codec.PUBLISH;
v = v.<org.fusesource.mqtt.codec.PUBLISH: org.fusesource.hawtbuf.Buffer payload>;
return v;
}
public org.fusesource.mqtt.codec.PUBLISH payload(org.fusesource.hawtbuf.Buffer)
{
org.fusesource.hawtbuf.Buffer v;
org.fusesource.mqtt.codec.PUBLISH v;
v := @this: org.fusesource.mqtt.codec.PUBLISH;
v := @parameter: org.fusesource.hawtbuf.Buffer;
v.<org.fusesource.mqtt.codec.PUBLISH: org.fusesource.hawtbuf.Buffer payload> = v;
return v;
}
public org.fusesource.hawtbuf.UTF8Buffer topicName()
{
org.fusesource.mqtt.codec.PUBLISH v;
org.fusesource.hawtbuf.UTF8Buffer v;
v := @this: org.fusesource.mqtt.codec.PUBLISH;
v = v.<org.fusesource.mqtt.codec.PUBLISH: org.fusesource.hawtbuf.UTF8Buffer topicName>;
return v;
}
public org.fusesource.mqtt.codec.PUBLISH topicName(org.fusesource.hawtbuf.UTF8Buffer)
{
org.fusesource.mqtt.codec.PUBLISH v;
org.fusesource.hawtbuf.UTF8Buffer v;
v := @this: org.fusesource.mqtt.codec.PUBLISH;
v := @parameter: org.fusesource.hawtbuf.UTF8Buffer;
v.<org.fusesource.mqtt.codec.PUBLISH: org.fusesource.hawtbuf.UTF8Buffer topicName> = v;
return v;
}
public java.lang.String toString()
{
org.fusesource.hawtbuf.Buffer v;
org.fusesource.mqtt.client.QoS v;
org.fusesource.mqtt.codec.PUBLISH v;
short v;
org.fusesource.hawtbuf.UTF8Buffer v;
java.lang.String v;
boolean v, v;
v := @this: org.fusesource.mqtt.codec.PUBLISH;
v = virtualinvoke v.<org.fusesource.mqtt.codec.PUBLISH: boolean dup()>();
v = virtualinvoke v.<org.fusesource.mqtt.codec.PUBLISH: org.fusesource.mqtt.client.QoS qos()>();
v = virtualinvoke v.<org.fusesource.mqtt.codec.PUBLISH: boolean retain()>();
v = v.<org.fusesource.mqtt.codec.PUBLISH: short messageId>;
v = v.<org.fusesource.mqtt.codec.PUBLISH: org.fusesource.hawtbuf.UTF8Buffer topicName>;
v = v.<org.fusesource.mqtt.codec.PUBLISH: org.fusesource.hawtbuf.Buffer payload>;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (boolean,org.fusesource.mqtt.client.QoS,boolean,short,org.fusesource.hawtbuf.UTF8Buffer,org.fusesource.hawtbuf.Buffer)>(v, v, v, v, v, v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("PUBLISH{dup=\u, qos=\u, retain=\u, messageId=\u, topicName=\u, payload=\u0001}");
return v;
}
static void <clinit>()
{
java.lang.Class v;
boolean v, v;
v = class "Lorg/fusesource/mqtt/codec/PUBLISH;";
v = virtualinvoke v.<java.lang.Class: boolean desiredAssertionStatus()>();
if v != 0 goto label;
v = 1;
goto label;
label:
v = 0;
label:
<org.fusesource.mqtt.codec.PUBLISH: boolean $assertionsDisabled> = v;
return;
}
}