public class org.fusesource.mqtt.client.BlockingConnection extends java.lang.Object
{
private final org.fusesource.mqtt.client.FutureConnection next;
public void <init>(org.fusesource.mqtt.client.FutureConnection)
{
org.fusesource.mqtt.client.FutureConnection v;
org.fusesource.mqtt.client.BlockingConnection v;
v := @this: org.fusesource.mqtt.client.BlockingConnection;
v := @parameter: org.fusesource.mqtt.client.FutureConnection;
specialinvoke v.<java.lang.Object: void <init>()>();
v.<org.fusesource.mqtt.client.BlockingConnection: org.fusesource.mqtt.client.FutureConnection next> = v;
return;
}
public boolean isConnected()
{
org.fusesource.mqtt.client.FutureConnection v;
org.fusesource.mqtt.client.BlockingConnection v;
boolean v;
v := @this: org.fusesource.mqtt.client.BlockingConnection;
v = v.<org.fusesource.mqtt.client.BlockingConnection: org.fusesource.mqtt.client.FutureConnection next>;
v = virtualinvoke v.<org.fusesource.mqtt.client.FutureConnection: boolean isConnected()>();
return v;
}
public void connect() throws java.lang.Exception
{
org.fusesource.mqtt.client.Future v;
org.fusesource.mqtt.client.FutureConnection v;
org.fusesource.mqtt.client.BlockingConnection v;
v := @this: org.fusesource.mqtt.client.BlockingConnection;
v = v.<org.fusesource.mqtt.client.BlockingConnection: org.fusesource.mqtt.client.FutureConnection next>;
v = virtualinvoke v.<org.fusesource.mqtt.client.FutureConnection: org.fusesource.mqtt.client.Future connect()>();
interfaceinvoke v.<org.fusesource.mqtt.client.Future: java.lang.Object await()>();
return;
}
public void disconnect() throws java.lang.Exception
{
org.fusesource.mqtt.client.Future v;
org.fusesource.mqtt.client.FutureConnection v;
org.fusesource.mqtt.client.BlockingConnection v;
v := @this: org.fusesource.mqtt.client.BlockingConnection;
v = v.<org.fusesource.mqtt.client.BlockingConnection: org.fusesource.mqtt.client.FutureConnection next>;
v = virtualinvoke v.<org.fusesource.mqtt.client.FutureConnection: org.fusesource.mqtt.client.Future disconnect()>();
interfaceinvoke v.<org.fusesource.mqtt.client.Future: java.lang.Object await()>();
return;
}
public void kill() throws java.lang.Exception
{
org.fusesource.mqtt.client.Future v;
org.fusesource.mqtt.client.FutureConnection v;
org.fusesource.mqtt.client.BlockingConnection v;
v := @this: org.fusesource.mqtt.client.BlockingConnection;
v = v.<org.fusesource.mqtt.client.BlockingConnection: org.fusesource.mqtt.client.FutureConnection next>;
v = virtualinvoke v.<org.fusesource.mqtt.client.FutureConnection: org.fusesource.mqtt.client.Future kill()>();
interfaceinvoke v.<org.fusesource.mqtt.client.Future: java.lang.Object await()>();
return;
}
public byte[] subscribe(org.fusesource.mqtt.client.Topic[]) throws java.lang.Exception
{
org.fusesource.mqtt.client.Future v;
org.fusesource.mqtt.client.FutureConnection v;
org.fusesource.mqtt.client.BlockingConnection v;
java.lang.Object v;
org.fusesource.mqtt.client.Topic[] v;
v := @this: org.fusesource.mqtt.client.BlockingConnection;
v := @parameter: org.fusesource.mqtt.client.Topic[];
v = v.<org.fusesource.mqtt.client.BlockingConnection: org.fusesource.mqtt.client.FutureConnection next>;
v = virtualinvoke v.<org.fusesource.mqtt.client.FutureConnection: org.fusesource.mqtt.client.Future subscribe(org.fusesource.mqtt.client.Topic[])>(v);
v = interfaceinvoke v.<org.fusesource.mqtt.client.Future: java.lang.Object await()>();
return v;
}
public void unsubscribe(java.lang.String[]) throws java.lang.Exception
{
org.fusesource.mqtt.client.Future v;
org.fusesource.mqtt.client.FutureConnection v;
org.fusesource.mqtt.client.BlockingConnection v;
java.lang.String[] v;
v := @this: org.fusesource.mqtt.client.BlockingConnection;
v := @parameter: java.lang.String[];
v = v.<org.fusesource.mqtt.client.BlockingConnection: org.fusesource.mqtt.client.FutureConnection next>;
v = virtualinvoke v.<org.fusesource.mqtt.client.FutureConnection: org.fusesource.mqtt.client.Future unsubscribe(java.lang.String[])>(v);
interfaceinvoke v.<org.fusesource.mqtt.client.Future: java.lang.Object await()>();
return;
}
public void unsubscribe(org.fusesource.hawtbuf.UTF8Buffer[]) throws java.lang.Exception
{
org.fusesource.hawtbuf.UTF8Buffer[] v;
org.fusesource.mqtt.client.Future v;
org.fusesource.mqtt.client.FutureConnection v;
org.fusesource.mqtt.client.BlockingConnection v;
v := @this: org.fusesource.mqtt.client.BlockingConnection;
v := @parameter: org.fusesource.hawtbuf.UTF8Buffer[];
v = v.<org.fusesource.mqtt.client.BlockingConnection: org.fusesource.mqtt.client.FutureConnection next>;
v = virtualinvoke v.<org.fusesource.mqtt.client.FutureConnection: org.fusesource.mqtt.client.Future unsubscribe(org.fusesource.hawtbuf.UTF8Buffer[])>(v);
interfaceinvoke v.<org.fusesource.mqtt.client.Future: java.lang.Object await()>();
return;
}
public void publish(org.fusesource.hawtbuf.UTF8Buffer, org.fusesource.hawtbuf.Buffer, org.fusesource.mqtt.client.QoS, boolean) throws java.lang.Exception
{
org.fusesource.mqtt.client.Future v;
org.fusesource.mqtt.client.FutureConnection v;
org.fusesource.mqtt.client.BlockingConnection v;
org.fusesource.hawtbuf.UTF8Buffer v;
org.fusesource.hawtbuf.Buffer v;
org.fusesource.mqtt.client.QoS v;
boolean v;
v := @this: org.fusesource.mqtt.client.BlockingConnection;
v := @parameter: org.fusesource.hawtbuf.UTF8Buffer;
v := @parameter: org.fusesource.hawtbuf.Buffer;
v := @parameter: org.fusesource.mqtt.client.QoS;
v := @parameter: boolean;
v = v.<org.fusesource.mqtt.client.BlockingConnection: org.fusesource.mqtt.client.FutureConnection next>;
v = virtualinvoke v.<org.fusesource.mqtt.client.FutureConnection: org.fusesource.mqtt.client.Future publish(org.fusesource.hawtbuf.UTF8Buffer,org.fusesource.hawtbuf.Buffer,org.fusesource.mqtt.client.QoS,boolean)>(v, v, v, v);
interfaceinvoke v.<org.fusesource.mqtt.client.Future: java.lang.Object await()>();
return;
}
protected java.lang.Object clone() throws java.lang.CloneNotSupportedException
{
java.lang.Object v;
org.fusesource.mqtt.client.BlockingConnection v;
v := @this: org.fusesource.mqtt.client.BlockingConnection;
v = specialinvoke v.<java.lang.Object: java.lang.Object clone()>();
return v;
}
public void publish(java.lang.String, byte[], org.fusesource.mqtt.client.QoS, boolean) throws java.lang.Exception
{
byte[] v;
org.fusesource.mqtt.client.BlockingConnection v;
org.fusesource.hawtbuf.UTF8Buffer v;
java.lang.String v;
org.fusesource.hawtbuf.Buffer v;
org.fusesource.mqtt.client.QoS v;
boolean v;
v := @this: org.fusesource.mqtt.client.BlockingConnection;
v := @parameter: java.lang.String;
v := @parameter: byte[];
v := @parameter: org.fusesource.mqtt.client.QoS;
v := @parameter: boolean;
v = staticinvoke <org.fusesource.hawtbuf.Buffer: org.fusesource.hawtbuf.UTF8Buffer utf8(java.lang.String)>(v);
v = new org.fusesource.hawtbuf.Buffer;
specialinvoke v.<org.fusesource.hawtbuf.Buffer: void <init>(byte[])>(v);
virtualinvoke v.<org.fusesource.mqtt.client.BlockingConnection: void publish(org.fusesource.hawtbuf.UTF8Buffer,org.fusesource.hawtbuf.Buffer,org.fusesource.mqtt.client.QoS,boolean)>(v, v, v, v);
return;
}
public org.fusesource.mqtt.client.Message receive() throws java.lang.Exception
{
org.fusesource.mqtt.client.Future v;
org.fusesource.mqtt.client.FutureConnection v;
org.fusesource.mqtt.client.BlockingConnection v;
java.lang.Object v;
v := @this: org.fusesource.mqtt.client.BlockingConnection;
v = v.<org.fusesource.mqtt.client.BlockingConnection: org.fusesource.mqtt.client.FutureConnection next>;
v = virtualinvoke v.<org.fusesource.mqtt.client.FutureConnection: org.fusesource.mqtt.client.Future receive()>();
v = interfaceinvoke v.<org.fusesource.mqtt.client.Future: java.lang.Object await()>();
return v;
}
public org.fusesource.mqtt.client.Message receive(long, java.util.concurrent.TimeUnit) throws java.lang.Exception
{
org.fusesource.mqtt.client.FutureConnection v;
org.fusesource.mqtt.client.BlockingConnection v;
org.fusesource.mqtt.client.BlockingConnection$1 v;
java.util.concurrent.TimeoutException v;
long v;
java.util.concurrent.TimeUnit v;
org.fusesource.mqtt.client.Future v;
java.lang.Object v;
v := @this: org.fusesource.mqtt.client.BlockingConnection;
v := @parameter: long;
v := @parameter: java.util.concurrent.TimeUnit;
v = v.<org.fusesource.mqtt.client.BlockingConnection: org.fusesource.mqtt.client.FutureConnection next>;
v = virtualinvoke v.<org.fusesource.mqtt.client.FutureConnection: org.fusesource.mqtt.client.Future receive()>();
label:
v = interfaceinvoke v.<org.fusesource.mqtt.client.Future: java.lang.Object await(long,java.util.concurrent.TimeUnit)>(v, v);
if v == null goto label;
v.<org.fusesource.mqtt.client.Message: boolean blocking> = 1;
label:
return v;
label:
v := @caughtexception;
v = new org.fusesource.mqtt.client.BlockingConnection$1;
specialinvoke v.<org.fusesource.mqtt.client.BlockingConnection$1: void <init>(org.fusesource.mqtt.client.BlockingConnection)>(v);
interfaceinvoke v.<org.fusesource.mqtt.client.Future: void then(org.fusesource.mqtt.client.Callback)>(v);
return null;
catch java.util.concurrent.TimeoutException from label to label with label;
}
public void setReceiveBuffer(long) throws java.lang.InterruptedException
{
java.util.concurrent.CountDownLatch v;
org.fusesource.mqtt.client.FutureConnection v;
org.fusesource.mqtt.client.BlockingConnection v;
org.fusesource.mqtt.client.BlockingConnection$2 v;
long v;
org.fusesource.hawtdispatch.DispatchQueue v;
v := @this: org.fusesource.mqtt.client.BlockingConnection;
v := @parameter: long;
v = new java.util.concurrent.CountDownLatch;
specialinvoke v.<java.util.concurrent.CountDownLatch: void <init>(int)>(1);
v = v.<org.fusesource.mqtt.client.BlockingConnection: org.fusesource.mqtt.client.FutureConnection next>;
v = virtualinvoke v.<org.fusesource.mqtt.client.FutureConnection: org.fusesource.hawtdispatch.DispatchQueue getDispatchQueue()>();
v = new org.fusesource.mqtt.client.BlockingConnection$2;
specialinvoke v.<org.fusesource.mqtt.client.BlockingConnection$2: void <init>(org.fusesource.mqtt.client.BlockingConnection,long,java.util.concurrent.CountDownLatch)>(v, v, v);
interfaceinvoke v.<org.fusesource.hawtdispatch.DispatchQueue: void execute(java.lang.Runnable)>(v);
virtualinvoke v.<java.util.concurrent.CountDownLatch: void await()>();
return;
}
public long getReceiveBuffer() throws java.lang.InterruptedException
{
java.util.concurrent.CountDownLatch v;
java.util.concurrent.atomic.AtomicLong v;
org.fusesource.mqtt.client.FutureConnection v;
org.fusesource.mqtt.client.BlockingConnection v;
org.fusesource.mqtt.client.BlockingConnection$3 v;
long v;
org.fusesource.hawtdispatch.DispatchQueue v;
v := @this: org.fusesource.mqtt.client.BlockingConnection;
v = new java.util.concurrent.CountDownLatch;
specialinvoke v.<java.util.concurrent.CountDownLatch: void <init>(int)>(1);
v = new java.util.concurrent.atomic.AtomicLong;
specialinvoke v.<java.util.concurrent.atomic.AtomicLong: void <init>()>();
v = v.<org.fusesource.mqtt.client.BlockingConnection: org.fusesource.mqtt.client.FutureConnection next>;
v = virtualinvoke v.<org.fusesource.mqtt.client.FutureConnection: org.fusesource.hawtdispatch.DispatchQueue getDispatchQueue()>();
v = new org.fusesource.mqtt.client.BlockingConnection$3;
specialinvoke v.<org.fusesource.mqtt.client.BlockingConnection$3: void <init>(org.fusesource.mqtt.client.BlockingConnection,java.util.concurrent.atomic.AtomicLong,java.util.concurrent.CountDownLatch)>(v, v, v);
interfaceinvoke v.<org.fusesource.hawtdispatch.DispatchQueue: void execute(java.lang.Runnable)>(v);
virtualinvoke v.<java.util.concurrent.CountDownLatch: void await()>();
v = virtualinvoke v.<java.util.concurrent.atomic.AtomicLong: long get()>();
return v;
}
public void resume()
{
org.fusesource.mqtt.client.FutureConnection v;
org.fusesource.mqtt.client.BlockingConnection v;
v := @this: org.fusesource.mqtt.client.BlockingConnection;
v = v.<org.fusesource.mqtt.client.BlockingConnection: org.fusesource.mqtt.client.FutureConnection next>;
virtualinvoke v.<org.fusesource.mqtt.client.FutureConnection: void resume()>();
return;
}
public void suspend()
{
org.fusesource.mqtt.client.FutureConnection v;
org.fusesource.mqtt.client.BlockingConnection v;
v := @this: org.fusesource.mqtt.client.BlockingConnection;
v = v.<org.fusesource.mqtt.client.BlockingConnection: org.fusesource.mqtt.client.FutureConnection next>;
virtualinvoke v.<org.fusesource.mqtt.client.FutureConnection: void suspend()>();
return;
}
}