public class org.fusesource.mqtt.cli.Publisher extends java.lang.Object
{
private final org.fusesource.mqtt.client.MQTT mqtt;
private org.fusesource.mqtt.client.QoS qos;
private org.fusesource.hawtbuf.UTF8Buffer topic;
private org.fusesource.hawtbuf.Buffer body;
private boolean debug;
private boolean retain;
private long count;
private long sleep;
private boolean prefixCounter;
public void <init>()
{
org.fusesource.mqtt.client.MQTT v;
org.fusesource.mqtt.cli.Publisher v;
org.fusesource.mqtt.client.QoS v;
v := @this: org.fusesource.mqtt.cli.Publisher;
specialinvoke v.<java.lang.Object: void <init>()>();
v = new org.fusesource.mqtt.client.MQTT;
specialinvoke v.<org.fusesource.mqtt.client.MQTT: void <init>()>();
v.<org.fusesource.mqtt.cli.Publisher: org.fusesource.mqtt.client.MQTT mqtt> = v;
v = <org.fusesource.mqtt.client.QoS: org.fusesource.mqtt.client.QoS AT_MOST_ONCE>;
v.<org.fusesource.mqtt.cli.Publisher: org.fusesource.mqtt.client.QoS qos> = v;
v.<org.fusesource.mqtt.cli.Publisher: long count> = 1L;
return;
}
private static void displayHelpAndExit(int)
{
int v;
v := @parameter: int;
staticinvoke <org.fusesource.mqtt.cli.Publisher: void stdout(java.lang.Object)>("");
staticinvoke <org.fusesource.mqtt.cli.Publisher: void stdout(java.lang.Object)>("This is a simple mqtt client that will publish to a topic.");
staticinvoke <org.fusesource.mqtt.cli.Publisher: void stdout(java.lang.Object)>("");
staticinvoke <org.fusesource.mqtt.cli.Publisher: void stdout(java.lang.Object)>("Arguments: [-h host] [-k keepalive] [-c] [-i id] [-u username [-p password]]");
staticinvoke <org.fusesource.mqtt.cli.Publisher: void stdout(java.lang.Object)>("           [--will-topic topic [--will-payload payload] [--will-qos qos] [--will-retain]]");
staticinvoke <org.fusesource.mqtt.cli.Publisher: void stdout(java.lang.Object)>("           [-d] [-n count] [-s sleep] [-q qos] [-r] -t topic ( -pc | -m message | -z | -f file )");
staticinvoke <org.fusesource.mqtt.cli.Publisher: void stdout(java.lang.Object)>("");
staticinvoke <org.fusesource.mqtt.cli.Publisher: void stdout(java.lang.Object)>("");
staticinvoke <org.fusesource.mqtt.cli.Publisher: void stdout(java.lang.Object)>(" -h : mqtt host uri to connect to. Defaults to tcp://localhost:1883.");
staticinvoke <org.fusesource.mqtt.cli.Publisher: void stdout(java.lang.Object)>(" -k : keep alive in seconds for this client. Defaults to 60.");
staticinvoke <org.fusesource.mqtt.cli.Publisher: void stdout(java.lang.Object)>(" -c : disable \'clean session\'.");
staticinvoke <org.fusesource.mqtt.cli.Publisher: void stdout(java.lang.Object)>(" -i : id to use for this client. Defaults to a random id.");
staticinvoke <org.fusesource.mqtt.cli.Publisher: void stdout(java.lang.Object)>(" -u : provide a username (requires MQTT 3.1 broker)");
staticinvoke <org.fusesource.mqtt.cli.Publisher: void stdout(java.lang.Object)>(" -p : provide a password (requires MQTT 3.1 broker)");
staticinvoke <org.fusesource.mqtt.cli.Publisher: void stdout(java.lang.Object)>(" --will-topic : the topic on which to publish the client Will.");
staticinvoke <org.fusesource.mqtt.cli.Publisher: void stdout(java.lang.Object)>(" --will-payload : payload for the client Will, which is sent by the broker in case of");
staticinvoke <org.fusesource.mqtt.cli.Publisher: void stdout(java.lang.Object)>("                  unexpected disconnection. If not given and will-topic is set, a zero");
staticinvoke <org.fusesource.mqtt.cli.Publisher: void stdout(java.lang.Object)>("                  length message will be sent.");
staticinvoke <org.fusesource.mqtt.cli.Publisher: void stdout(java.lang.Object)>(" --will-qos : QoS level for the client Will.");
staticinvoke <org.fusesource.mqtt.cli.Publisher: void stdout(java.lang.Object)>(" --will-retain : if given, make the client Will retained.");
staticinvoke <org.fusesource.mqtt.cli.Publisher: void stdout(java.lang.Object)>(" -d : display debug info on stderr");
staticinvoke <org.fusesource.mqtt.cli.Publisher: void stdout(java.lang.Object)>(" -n : the number of times to publish the message");
staticinvoke <org.fusesource.mqtt.cli.Publisher: void stdout(java.lang.Object)>(" -s : the number of milliseconds to sleep between publish operations (defaut: 0)");
staticinvoke <org.fusesource.mqtt.cli.Publisher: void stdout(java.lang.Object)>(" -q : quality of service level to use for the publish. Defaults to 0.");
staticinvoke <org.fusesource.mqtt.cli.Publisher: void stdout(java.lang.Object)>(" -r : message should be retained.");
staticinvoke <org.fusesource.mqtt.cli.Publisher: void stdout(java.lang.Object)>(" -t : mqtt topic to publish to.");
staticinvoke <org.fusesource.mqtt.cli.Publisher: void stdout(java.lang.Object)>(" -m : message payload to send.");
staticinvoke <org.fusesource.mqtt.cli.Publisher: void stdout(java.lang.Object)>(" -z : send a null (zero length) message.");
staticinvoke <org.fusesource.mqtt.cli.Publisher: void stdout(java.lang.Object)>(" -f : send the contents of a file as the message.");
staticinvoke <org.fusesource.mqtt.cli.Publisher: void stdout(java.lang.Object)>(" -pc : prefix a message counter to the message");
staticinvoke <org.fusesource.mqtt.cli.Publisher: void stdout(java.lang.Object)>(" -v : MQTT version to use 3.1 or 3.1.1. (default: 3.1)");
staticinvoke <org.fusesource.mqtt.cli.Publisher: void stdout(java.lang.Object)>("");
staticinvoke <java.lang.System: void exit(int)>(v);
return;
}
private static void stdout(java.lang.Object)
{
java.io.PrintStream v;
java.lang.Object v;
v := @parameter: java.lang.Object;
v = <java.lang.System: java.io.PrintStream out>;
virtualinvoke v.<java.io.PrintStream: void println(java.lang.Object)>(v);
return;
}
private static void stderr(java.lang.Object)
{
java.io.PrintStream v;
java.lang.Object v;
v := @parameter: java.lang.Object;
v = <java.lang.System: java.io.PrintStream err>;
virtualinvoke v.<java.io.PrintStream: void println(java.lang.Object)>(v);
return;
}
private static java.lang.String shift(java.util.LinkedList)
{
java.lang.Object v;
java.util.LinkedList v;
boolean v;
v := @parameter: java.util.LinkedList;
v = virtualinvoke v.<java.util.LinkedList: boolean isEmpty()>();
if v == 0 goto label;
staticinvoke <org.fusesource.mqtt.cli.Publisher: void stderr(java.lang.Object)>("Invalid usage: Missing argument");
staticinvoke <org.fusesource.mqtt.cli.Publisher: void displayHelpAndExit(int)>(1);
label:
v = virtualinvoke v.<java.util.LinkedList: java.lang.Object removeFirst()>();
return v;
}
public static void main(java.lang.String[]) throws java.lang.Exception
{
byte[] v;
java.io.RandomAccessFile v;
org.fusesource.mqtt.cli.Publisher v;
java.lang.Throwable v;
long v, v, v;
org.fusesource.hawtbuf.Buffer v, v;
short v;
java.lang.String v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v;
java.lang.NumberFormatException v;
java.io.File v;
org.fusesource.hawtbuf.UTF8Buffer v, v, v, v;
org.fusesource.mqtt.client.QoS v, v;
org.fusesource.mqtt.client.QoS[] v, v, v, v;
boolean v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v;
java.util.List v;
org.fusesource.mqtt.client.MQTT v, v, v, v, v, v, v, v, v, v, v;
java.lang.String[] v;
int v, v, v, v;
java.util.LinkedList v;
java.lang.Object v;
v := @parameter: java.lang.String[];
v = new org.fusesource.mqtt.cli.Publisher;
specialinvoke v.<org.fusesource.mqtt.cli.Publisher: void <init>()>();
v = new java.util.LinkedList;
v = staticinvoke <java.util.Arrays: java.util.List asList(java.lang.Object[])>(v);
specialinvoke v.<java.util.LinkedList: void <init>(java.util.Collection)>(v);
label:
v = virtualinvoke v.<java.util.LinkedList: boolean isEmpty()>();
if v != 0 goto label;
label:
v = virtualinvoke v.<java.util.LinkedList: java.lang.Object removeFirst()>();
v = "--help";
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>(v);
if v == 0 goto label;
staticinvoke <org.fusesource.mqtt.cli.Publisher: void displayHelpAndExit(int)>(0);
goto label;
label:
v = "-v";
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>(v);
if v == 0 goto label;
v = v.<org.fusesource.mqtt.cli.Publisher: org.fusesource.mqtt.client.MQTT mqtt>;
v = staticinvoke <org.fusesource.mqtt.cli.Publisher: java.lang.String shift(java.util.LinkedList)>(v);
virtualinvoke v.<org.fusesource.mqtt.client.MQTT: void setVersion(java.lang.String)>(v);
goto label;
label:
v = "-h";
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>(v);
if v == 0 goto label;
v = v.<org.fusesource.mqtt.cli.Publisher: org.fusesource.mqtt.client.MQTT mqtt>;
v = staticinvoke <org.fusesource.mqtt.cli.Publisher: java.lang.String shift(java.util.LinkedList)>(v);
virtualinvoke v.<org.fusesource.mqtt.client.MQTT: void setHost(java.lang.String)>(v);
goto label;
label:
v = "-k";
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>(v);
if v == 0 goto label;
v = v.<org.fusesource.mqtt.cli.Publisher: org.fusesource.mqtt.client.MQTT mqtt>;
v = staticinvoke <org.fusesource.mqtt.cli.Publisher: java.lang.String shift(java.util.LinkedList)>(v);
v = staticinvoke <java.lang.Short: short parseShort(java.lang.String)>(v);
virtualinvoke v.<org.fusesource.mqtt.client.MQTT: void setKeepAlive(short)>(v);
goto label;
label:
v = "-c";
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>(v);
if v == 0 goto label;
v = v.<org.fusesource.mqtt.cli.Publisher: org.fusesource.mqtt.client.MQTT mqtt>;
virtualinvoke v.<org.fusesource.mqtt.client.MQTT: void setCleanSession(boolean)>(0);
goto label;
label:
v = "-i";
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>(v);
if v == 0 goto label;
v = v.<org.fusesource.mqtt.cli.Publisher: org.fusesource.mqtt.client.MQTT mqtt>;
v = staticinvoke <org.fusesource.mqtt.cli.Publisher: java.lang.String shift(java.util.LinkedList)>(v);
virtualinvoke v.<org.fusesource.mqtt.client.MQTT: void setClientId(java.lang.String)>(v);
goto label;
label:
v = "-u";
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>(v);
if v == 0 goto label;
v = v.<org.fusesource.mqtt.cli.Publisher: org.fusesource.mqtt.client.MQTT mqtt>;
v = staticinvoke <org.fusesource.mqtt.cli.Publisher: java.lang.String shift(java.util.LinkedList)>(v);
virtualinvoke v.<org.fusesource.mqtt.client.MQTT: void setUserName(java.lang.String)>(v);
goto label;
label:
v = "-p";
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>(v);
if v == 0 goto label;
v = v.<org.fusesource.mqtt.cli.Publisher: org.fusesource.mqtt.client.MQTT mqtt>;
v = staticinvoke <org.fusesource.mqtt.cli.Publisher: java.lang.String shift(java.util.LinkedList)>(v);
virtualinvoke v.<org.fusesource.mqtt.client.MQTT: void setPassword(java.lang.String)>(v);
goto label;
label:
v = "--will-topic";
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>(v);
if v == 0 goto label;
v = v.<org.fusesource.mqtt.cli.Publisher: org.fusesource.mqtt.client.MQTT mqtt>;
v = staticinvoke <org.fusesource.mqtt.cli.Publisher: java.lang.String shift(java.util.LinkedList)>(v);
virtualinvoke v.<org.fusesource.mqtt.client.MQTT: void setWillTopic(java.lang.String)>(v);
goto label;
label:
v = "--will-payload";
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>(v);
if v == 0 goto label;
v = v.<org.fusesource.mqtt.cli.Publisher: org.fusesource.mqtt.client.MQTT mqtt>;
v = staticinvoke <org.fusesource.mqtt.cli.Publisher: java.lang.String shift(java.util.LinkedList)>(v);
virtualinvoke v.<org.fusesource.mqtt.client.MQTT: void setWillMessage(java.lang.String)>(v);
goto label;
label:
v = "--will-qos";
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>(v);
if v == 0 goto label;
v = staticinvoke <org.fusesource.mqtt.cli.Publisher: java.lang.String shift(java.util.LinkedList)>(v);
v = staticinvoke <java.lang.Integer: int parseInt(java.lang.String)>(v);
v = staticinvoke <org.fusesource.mqtt.client.QoS: org.fusesource.mqtt.client.QoS[] values()>();
v = lengthof v;
if v <= v goto label;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (int)>(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[])>("Invalid qos value : \u0001");
staticinvoke <org.fusesource.mqtt.cli.Publisher: void stderr(java.lang.Object)>(v);
staticinvoke <org.fusesource.mqtt.cli.Publisher: void displayHelpAndExit(int)>(1);
label:
v = v.<org.fusesource.mqtt.cli.Publisher: org.fusesource.mqtt.client.MQTT mqtt>;
v = staticinvoke <org.fusesource.mqtt.client.QoS: org.fusesource.mqtt.client.QoS[] values()>();
v = v[v];
virtualinvoke v.<org.fusesource.mqtt.client.MQTT: void setWillQos(org.fusesource.mqtt.client.QoS)>(v);
goto label;
label:
v = "--will-retain";
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>(v);
if v == 0 goto label;
v = v.<org.fusesource.mqtt.cli.Publisher: org.fusesource.mqtt.client.MQTT mqtt>;
virtualinvoke v.<org.fusesource.mqtt.client.MQTT: void setWillRetain(boolean)>(1);
goto label;
label:
v = "-d";
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>(v);
if v == 0 goto label;
v.<org.fusesource.mqtt.cli.Publisher: boolean debug> = 1;
goto label;
label:
v = "-n";
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>(v);
if v == 0 goto label;
v = staticinvoke <org.fusesource.mqtt.cli.Publisher: java.lang.String shift(java.util.LinkedList)>(v);
v = staticinvoke <java.lang.Long: long parseLong(java.lang.String)>(v);
v.<org.fusesource.mqtt.cli.Publisher: long count> = v;
goto label;
label:
v = "-s";
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>(v);
if v == 0 goto label;
v = staticinvoke <org.fusesource.mqtt.cli.Publisher: java.lang.String shift(java.util.LinkedList)>(v);
v = staticinvoke <java.lang.Long: long parseLong(java.lang.String)>(v);
v.<org.fusesource.mqtt.cli.Publisher: long sleep> = v;
goto label;
label:
v = "-q";
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>(v);
if v == 0 goto label;
v = staticinvoke <org.fusesource.mqtt.cli.Publisher: java.lang.String shift(java.util.LinkedList)>(v);
v = staticinvoke <java.lang.Integer: int parseInt(java.lang.String)>(v);
v = staticinvoke <org.fusesource.mqtt.client.QoS: org.fusesource.mqtt.client.QoS[] values()>();
v = lengthof v;
if v <= v goto label;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (int)>(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[])>("Invalid qos value : \u0001");
staticinvoke <org.fusesource.mqtt.cli.Publisher: void stderr(java.lang.Object)>(v);
staticinvoke <org.fusesource.mqtt.cli.Publisher: void displayHelpAndExit(int)>(1);
label:
v = staticinvoke <org.fusesource.mqtt.client.QoS: org.fusesource.mqtt.client.QoS[] values()>();
v = v[v];
v.<org.fusesource.mqtt.cli.Publisher: org.fusesource.mqtt.client.QoS qos> = v;
goto label;
label:
v = "-r";
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>(v);
if v == 0 goto label;
v.<org.fusesource.mqtt.cli.Publisher: boolean retain> = 1;
goto label;
label:
v = "-t";
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>(v);
if v == 0 goto label;
v = new org.fusesource.hawtbuf.UTF8Buffer;
v = staticinvoke <org.fusesource.mqtt.cli.Publisher: java.lang.String shift(java.util.LinkedList)>(v);
specialinvoke v.<org.fusesource.hawtbuf.UTF8Buffer: void <init>(java.lang.String)>(v);
v.<org.fusesource.mqtt.cli.Publisher: org.fusesource.hawtbuf.UTF8Buffer topic> = v;
goto label;
label:
v = "-m";
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>(v);
if v == 0 goto label;
v = new org.fusesource.hawtbuf.UTF8Buffer;
v = staticinvoke <org.fusesource.mqtt.cli.Publisher: java.lang.String shift(java.util.LinkedList)>(v);
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String)>(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[])>("\u0001\n");
specialinvoke v.<org.fusesource.hawtbuf.UTF8Buffer: void <init>(java.lang.String)>(v);
v.<org.fusesource.mqtt.cli.Publisher: org.fusesource.hawtbuf.Buffer body> = v;
goto label;
label:
v = "-z";
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>(v);
if v == 0 goto label;
v = new org.fusesource.hawtbuf.UTF8Buffer;
specialinvoke v.<org.fusesource.hawtbuf.UTF8Buffer: void <init>(java.lang.String)>("");
v.<org.fusesource.mqtt.cli.Publisher: org.fusesource.hawtbuf.Buffer body> = v;
goto label;
label:
v = "-f";
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>(v);
if v == 0 goto label;
v = new java.io.File;
v = staticinvoke <org.fusesource.mqtt.cli.Publisher: java.lang.String shift(java.util.LinkedList)>(v);
specialinvoke v.<java.io.File: void <init>(java.lang.String)>(v);
v = new java.io.RandomAccessFile;
specialinvoke v.<java.io.RandomAccessFile: void <init>(java.io.File,java.lang.String)>(v, "r");
label:
v = virtualinvoke v.<java.io.RandomAccessFile: long length()>();
v = newarray (byte)[v];
virtualinvoke v.<java.io.RandomAccessFile: void seek(long)>(0L);
virtualinvoke v.<java.io.RandomAccessFile: void readFully(byte[])>(v);
v = new org.fusesource.hawtbuf.Buffer;
specialinvoke v.<org.fusesource.hawtbuf.Buffer: void <init>(byte[])>(v);
v.<org.fusesource.mqtt.cli.Publisher: org.fusesource.hawtbuf.Buffer body> = v;
label:
virtualinvoke v.<java.io.RandomAccessFile: void close()>();
goto label;
label:
v := @caughtexception;
virtualinvoke v.<java.io.RandomAccessFile: void close()>();
throw v;
label:
v = "-pc";
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>(v);
if v == 0 goto label;
v.<org.fusesource.mqtt.cli.Publisher: boolean prefixCounter> = 1;
goto label;
label:
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String)>(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[])>("Invalid usage: unknown option: \u0001");
staticinvoke <org.fusesource.mqtt.cli.Publisher: void stderr(java.lang.Object)>(v);
staticinvoke <org.fusesource.mqtt.cli.Publisher: void displayHelpAndExit(int)>(1);
label:
goto label;
label:
v := @caughtexception;
staticinvoke <org.fusesource.mqtt.cli.Publisher: void stderr(java.lang.Object)>("Invalid usage: argument not a number");
staticinvoke <org.fusesource.mqtt.cli.Publisher: void displayHelpAndExit(int)>(1);
goto label;
label:
v = v.<org.fusesource.mqtt.cli.Publisher: org.fusesource.hawtbuf.UTF8Buffer topic>;
if v != null goto label;
staticinvoke <org.fusesource.mqtt.cli.Publisher: void stderr(java.lang.Object)>("Invalid usage: no topic specified.");
staticinvoke <org.fusesource.mqtt.cli.Publisher: void displayHelpAndExit(int)>(1);
label:
v = v.<org.fusesource.mqtt.cli.Publisher: org.fusesource.hawtbuf.Buffer body>;
if v != null goto label;
staticinvoke <org.fusesource.mqtt.cli.Publisher: void stderr(java.lang.Object)>("Invalid usage: -z -m or -f must be specified.");
staticinvoke <org.fusesource.mqtt.cli.Publisher: void displayHelpAndExit(int)>(1);
label:
specialinvoke v.<org.fusesource.mqtt.cli.Publisher: void execute()>();
staticinvoke <java.lang.System: void exit(int)>(0);
return;
catch java.lang.Throwable from label to label with label;
catch java.lang.NumberFormatException from label to label with label;
}
private void execute()
{
org.fusesource.mqtt.cli.Publisher$4 v;
org.fusesource.mqtt.cli.Publisher$3 v;
org.fusesource.mqtt.cli.Publisher$2 v;
org.fusesource.mqtt.cli.Publisher$1 v;
java.lang.Runtime v;
org.fusesource.mqtt.client.MQTT v;
java.lang.Exception v;
org.fusesource.mqtt.client.CallbackConnection v;
java.util.concurrent.CountDownLatch v;
org.fusesource.mqtt.cli.Publisher v;
v := @this: org.fusesource.mqtt.cli.Publisher;
v = v.<org.fusesource.mqtt.cli.Publisher: org.fusesource.mqtt.client.MQTT mqtt>;
v = virtualinvoke v.<org.fusesource.mqtt.client.MQTT: org.fusesource.mqtt.client.CallbackConnection callbackConnection()>();
v = new java.util.concurrent.CountDownLatch;
specialinvoke v.<java.util.concurrent.CountDownLatch: void <init>(int)>(1);
v = staticinvoke <java.lang.Runtime: java.lang.Runtime getRuntime()>();
v = new org.fusesource.mqtt.cli.Publisher$1;
specialinvoke v.<org.fusesource.mqtt.cli.Publisher$1: void <init>(org.fusesource.mqtt.cli.Publisher,org.fusesource.mqtt.client.CallbackConnection,java.util.concurrent.CountDownLatch)>(v, v, v);
virtualinvoke v.<java.lang.Runtime: void addShutdownHook(java.lang.Thread)>(v);
v = new org.fusesource.mqtt.cli.Publisher$2;
specialinvoke v.<org.fusesource.mqtt.cli.Publisher$2: void <init>(org.fusesource.mqtt.cli.Publisher)>(v);
virtualinvoke v.<org.fusesource.mqtt.client.CallbackConnection: org.fusesource.mqtt.client.CallbackConnection listener(org.fusesource.mqtt.client.Listener)>(v);
virtualinvoke v.<org.fusesource.mqtt.client.CallbackConnection: void resume()>();
v = new org.fusesource.mqtt.cli.Publisher$3;
specialinvoke v.<org.fusesource.mqtt.cli.Publisher$3: void <init>(org.fusesource.mqtt.cli.Publisher)>(v);
virtualinvoke v.<org.fusesource.mqtt.client.CallbackConnection: void connect(org.fusesource.mqtt.client.Callback)>(v);
v = new org.fusesource.mqtt.cli.Publisher$4;
specialinvoke v.<org.fusesource.mqtt.cli.Publisher$4: void <init>(org.fusesource.mqtt.cli.Publisher,org.fusesource.mqtt.client.CallbackConnection,java.util.concurrent.CountDownLatch)>(v, v, v);
virtualinvoke v.<org.fusesource.mqtt.cli.Publisher$4: void run()>();
label:
virtualinvoke v.<java.util.concurrent.CountDownLatch: void await()>();
label:
goto label;
label:
v := @caughtexception;
virtualinvoke v.<java.lang.Exception: void printStackTrace()>();
label:
staticinvoke <java.lang.System: void exit(int)>(0);
return;
catch java.lang.Exception from label to label with label;
}
}