public class org.apache.activemq.transport.vm.VMTransport extends java.lang.Object implements org.apache.activemq.transport.Transport, org.apache.activemq.thread.Task
{
protected static final org.slf4j.Logger LOG;
private static final java.util.concurrent.atomic.AtomicLong NEXT_ID;
protected org.apache.activemq.transport.vm.VMTransport peer;
protected org.apache.activemq.transport.TransportListener transportListener;
protected boolean marshal;
protected boolean async;
protected int asyncQueueDepth;
protected final java.net.URI location;
protected final long id;
private volatile java.util.concurrent.LinkedBlockingQueue messageQueue;
private volatile org.apache.activemq.thread.TaskRunnerFactory taskRunnerFactory;
private volatile org.apache.activemq.thread.TaskRunner taskRunner;
protected final java.util.concurrent.atomic.AtomicBoolean started;
protected final java.util.concurrent.atomic.AtomicBoolean disposed;
private volatile int receiveCounter;
public void <init>(java.net.URI)
{
org.apache.activemq.transport.vm.VMTransport v;
java.util.concurrent.atomic.AtomicLong v;
java.util.concurrent.atomic.AtomicBoolean v, v;
long v;
java.net.URI v;
v := @this: org.apache.activemq.transport.vm.VMTransport;
v := @parameter: java.net.URI;
specialinvoke v.<java.lang.Object: void <init>()>();
v.<org.apache.activemq.transport.vm.VMTransport: boolean async> = 1;
v.<org.apache.activemq.transport.vm.VMTransport: int asyncQueueDepth> = 2000;
v = new java.util.concurrent.atomic.AtomicBoolean;
specialinvoke v.<java.util.concurrent.atomic.AtomicBoolean: void <init>()>();
v.<org.apache.activemq.transport.vm.VMTransport: java.util.concurrent.atomic.AtomicBoolean started> = v;
v = new java.util.concurrent.atomic.AtomicBoolean;
specialinvoke v.<java.util.concurrent.atomic.AtomicBoolean: void <init>()>();
v.<org.apache.activemq.transport.vm.VMTransport: java.util.concurrent.atomic.AtomicBoolean disposed> = v;
v.<org.apache.activemq.transport.vm.VMTransport: java.net.URI location> = v;
v = <org.apache.activemq.transport.vm.VMTransport: java.util.concurrent.atomic.AtomicLong NEXT_ID>;
v = virtualinvoke v.<java.util.concurrent.atomic.AtomicLong: long getAndIncrement()>();
v.<org.apache.activemq.transport.vm.VMTransport: long id> = v;
return;
}
public void setPeer(org.apache.activemq.transport.vm.VMTransport)
{
org.apache.activemq.transport.vm.VMTransport v, v;
v := @this: org.apache.activemq.transport.vm.VMTransport;
v := @parameter: org.apache.activemq.transport.vm.VMTransport;
v.<org.apache.activemq.transport.vm.VMTransport: org.apache.activemq.transport.vm.VMTransport peer> = v;
return;
}
public void oneway(java.lang.Object) throws java.io.IOException
{
java.lang.Thread v;
boolean v, v, v, v, v, v, v;
java.util.concurrent.LinkedBlockingQueue v, v, v;
java.lang.Throwable v;
org.apache.activemq.transport.vm.VMTransport v, v, v, v, v, v, v, v, v, v, v, v, v, v;
java.util.concurrent.atomic.AtomicBoolean v, v, v, v, v, v;
java.io.InterruptedIOException v;
short v;
java.lang.String v, v, v;
java.io.IOException v;
java.util.concurrent.TimeUnit v;
org.apache.activemq.transport.TransportDisposedIOException v, v;
java.lang.InterruptedException v;
java.lang.Object v;
v := @this: org.apache.activemq.transport.vm.VMTransport;
v := @parameter: java.lang.Object;
v = v.<org.apache.activemq.transport.vm.VMTransport: java.util.concurrent.atomic.AtomicBoolean disposed>;
v = virtualinvoke v.<java.util.concurrent.atomic.AtomicBoolean: boolean get()>();
if v == 0 goto label;
v = new org.apache.activemq.transport.TransportDisposedIOException;
specialinvoke v.<org.apache.activemq.transport.TransportDisposedIOException: void <init>(java.lang.String)>("Transport disposed.");
throw v;
label:
v = v.<org.apache.activemq.transport.vm.VMTransport: org.apache.activemq.transport.vm.VMTransport peer>;
if v != null goto label;
v = new java.io.IOException;
specialinvoke v.<java.io.IOException: void <init>(java.lang.String)>("Peer not connected.");
throw v;
label:
v = v.<org.apache.activemq.transport.vm.VMTransport: org.apache.activemq.transport.vm.VMTransport peer>;
v = v.<org.apache.activemq.transport.vm.VMTransport: java.util.concurrent.atomic.AtomicBoolean disposed>;
v = virtualinvoke v.<java.util.concurrent.atomic.AtomicBoolean: boolean get()>();
if v == 0 goto label;
v = new org.apache.activemq.transport.TransportDisposedIOException;
v = v.<org.apache.activemq.transport.vm.VMTransport: org.apache.activemq.transport.vm.VMTransport peer>;
v = virtualinvoke v.<org.apache.activemq.transport.vm.VMTransport: java.lang.String toString()>();
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[])>("Peer (\u) disposed.");
specialinvoke v.<org.apache.activemq.transport.TransportDisposedIOException: void <init>(java.lang.String)>(v);
throw v;
label:
v = v.<org.apache.activemq.transport.vm.VMTransport: org.apache.activemq.transport.vm.VMTransport peer>;
v = v.<org.apache.activemq.transport.vm.VMTransport: boolean async>;
if v == 0 goto label;
v = v.<org.apache.activemq.transport.vm.VMTransport: org.apache.activemq.transport.vm.VMTransport peer>;
v = virtualinvoke v.<org.apache.activemq.transport.vm.VMTransport: java.util.concurrent.LinkedBlockingQueue getMessageQueue()>();
virtualinvoke v.<java.util.concurrent.LinkedBlockingQueue: void put(java.lang.Object)>(v);
v = v.<org.apache.activemq.transport.vm.VMTransport: org.apache.activemq.transport.vm.VMTransport peer>;
virtualinvoke v.<org.apache.activemq.transport.vm.VMTransport: void wakeup()>();
label:
return;
label:
v = v.<org.apache.activemq.transport.vm.VMTransport: org.apache.activemq.transport.vm.VMTransport peer>;
v = v.<org.apache.activemq.transport.vm.VMTransport: java.util.concurrent.atomic.AtomicBoolean started>;
v = virtualinvoke v.<java.util.concurrent.atomic.AtomicBoolean: boolean get()>();
if v != 0 goto label;
v = v.<org.apache.activemq.transport.vm.VMTransport: org.apache.activemq.transport.vm.VMTransport peer>;
v = virtualinvoke v.<org.apache.activemq.transport.vm.VMTransport: java.util.concurrent.LinkedBlockingQueue getMessageQueue()>();
v = 0;
label:
v = 0;
v = v.<org.apache.activemq.transport.vm.VMTransport: org.apache.activemq.transport.vm.VMTransport peer>;
v = v.<org.apache.activemq.transport.vm.VMTransport: java.util.concurrent.atomic.AtomicBoolean started>;
entermonitor v;
label:
v = v.<org.apache.activemq.transport.vm.VMTransport: org.apache.activemq.transport.vm.VMTransport peer>;
v = v.<org.apache.activemq.transport.vm.VMTransport: java.util.concurrent.atomic.AtomicBoolean started>;
v = virtualinvoke v.<java.util.concurrent.atomic.AtomicBoolean: boolean get()>();
if v != 0 goto label;
v = virtualinvoke v.<java.util.concurrent.LinkedBlockingQueue: boolean offer(java.lang.Object)>(v);
if v != 0 goto label;
v = 500;
label:
exitmonitor v;
label:
goto label;
label:
v := @caughtexception;
exitmonitor v;
throw v;
label:
v = <java.util.concurrent.TimeUnit: java.util.concurrent.TimeUnit MILLISECONDS>;
virtualinvoke v.<java.util.concurrent.TimeUnit: void sleep(long)>(v);
if v != 0 goto label;
v = v.<org.apache.activemq.transport.vm.VMTransport: org.apache.activemq.transport.vm.VMTransport peer>;
v = v.<org.apache.activemq.transport.vm.VMTransport: java.util.concurrent.atomic.AtomicBoolean started>;
v = virtualinvoke v.<java.util.concurrent.atomic.AtomicBoolean: boolean get()>();
if v == 0 goto label;
label:
if v == 0 goto label;
label:
return;
label:
v := @caughtexception;
v = staticinvoke <java.lang.Thread: java.lang.Thread currentThread()>();
virtualinvoke v.<java.lang.Thread: void interrupt()>();
v = new java.io.InterruptedIOException;
v = virtualinvoke v.<java.lang.InterruptedException: java.lang.String getMessage()>();
specialinvoke v.<java.io.InterruptedIOException: void <init>(java.lang.String)>(v);
virtualinvoke v.<java.io.InterruptedIOException: java.lang.Throwable initCause(java.lang.Throwable)>(v);
throw v;
label:
v = v.<org.apache.activemq.transport.vm.VMTransport: org.apache.activemq.transport.vm.VMTransport peer>;
v = v.<org.apache.activemq.transport.vm.VMTransport: org.apache.activemq.transport.vm.VMTransport peer>;
v = v.<org.apache.activemq.transport.vm.VMTransport: java.util.concurrent.LinkedBlockingQueue messageQueue>;
virtualinvoke v.<org.apache.activemq.transport.vm.VMTransport: void dispatch(org.apache.activemq.transport.vm.VMTransport,java.util.concurrent.BlockingQueue,java.lang.Object)>(v, v, v);
return;
catch java.lang.Throwable from label to label with label;
catch java.lang.InterruptedException from label to label with label;
catch java.lang.InterruptedException from label to label with label;
}
public void dispatch(org.apache.activemq.transport.vm.VMTransport, java.util.concurrent.BlockingQueue, java.lang.Object)
{
java.lang.Throwable v;
org.apache.activemq.transport.vm.VMTransport v, v;
org.apache.activemq.transport.TransportListener v;
java.util.concurrent.atomic.AtomicBoolean v, v;
java.util.concurrent.BlockingQueue v;
java.lang.Object v, v;
boolean v, v, v, v;
v := @this: org.apache.activemq.transport.vm.VMTransport;
v := @parameter: org.apache.activemq.transport.vm.VMTransport;
v := @parameter: java.util.concurrent.BlockingQueue;
v := @parameter: java.lang.Object;
v = virtualinvoke v.<org.apache.activemq.transport.vm.VMTransport: org.apache.activemq.transport.TransportListener getTransportListener()>();
if v == null goto label;
v = v.<org.apache.activemq.transport.vm.VMTransport: java.util.concurrent.atomic.AtomicBoolean started>;
entermonitor v;
label:
if v == null goto label;
v = interfaceinvoke v.<java.util.concurrent.BlockingQueue: boolean isEmpty()>();
if v != 0 goto label;
v = virtualinvoke v.<org.apache.activemq.transport.vm.VMTransport: boolean isDisposed()>();
if v != 0 goto label;
v = interfaceinvoke v.<java.util.concurrent.BlockingQueue: java.lang.Object poll()>();
virtualinvoke v.<org.apache.activemq.transport.vm.VMTransport: void doDispatch(org.apache.activemq.transport.vm.VMTransport,org.apache.activemq.transport.TransportListener,java.lang.Object)>(v, v, v);
goto label;
label:
v.<org.apache.activemq.transport.vm.VMTransport: java.util.concurrent.LinkedBlockingQueue messageQueue> = null;
if v == null goto label;
v = v.<org.apache.activemq.transport.vm.VMTransport: java.util.concurrent.atomic.AtomicBoolean disposed>;
v = virtualinvoke v.<java.util.concurrent.atomic.AtomicBoolean: boolean get()>();
if v != 0 goto label;
v = virtualinvoke v.<org.apache.activemq.transport.vm.VMTransport: boolean isDisposed()>();
if v != 0 goto label;
virtualinvoke v.<org.apache.activemq.transport.vm.VMTransport: void doDispatch(org.apache.activemq.transport.vm.VMTransport,org.apache.activemq.transport.TransportListener,java.lang.Object)>(v, v, v);
label:
exitmonitor v;
label:
goto label;
label:
v := @caughtexception;
exitmonitor v;
throw v;
label:
return;
catch java.lang.Throwable from label to label with label;
}
public void doDispatch(org.apache.activemq.transport.vm.VMTransport, org.apache.activemq.transport.TransportListener, java.lang.Object)
{
org.apache.activemq.transport.vm.VMTransport v, v;
org.apache.activemq.transport.TransportListener v;
int v, v;
java.lang.Object v;
v := @this: org.apache.activemq.transport.vm.VMTransport;
v := @parameter: org.apache.activemq.transport.vm.VMTransport;
v := @parameter: org.apache.activemq.transport.TransportListener;
v := @parameter: java.lang.Object;
v = v.<org.apache.activemq.transport.vm.VMTransport: int receiveCounter>;
v = v + 1;
v.<org.apache.activemq.transport.vm.VMTransport: int receiveCounter> = v;
interfaceinvoke v.<org.apache.activemq.transport.TransportListener: void onCommand(java.lang.Object)>(v);
return;
}
public void start() throws java.lang.Exception
{
java.lang.Throwable v;
org.apache.activemq.transport.vm.VMTransport v;
org.apache.activemq.transport.TransportListener v, v;
java.util.concurrent.atomic.AtomicBoolean v, v, v, v;
int v, v;
boolean v, v, v, v;
java.io.IOException v;
java.util.concurrent.LinkedBlockingQueue v;
java.lang.Object v;
v := @this: org.apache.activemq.transport.vm.VMTransport;
v = v.<org.apache.activemq.transport.vm.VMTransport: org.apache.activemq.transport.TransportListener transportListener>;
if v != null goto label;
v = new java.io.IOException;
specialinvoke v.<java.io.IOException: void <init>(java.lang.String)>("TransportListener not set.");
throw v;
label:
v = v.<org.apache.activemq.transport.vm.VMTransport: boolean async>;
if v != 0 goto label;
v = v.<org.apache.activemq.transport.vm.VMTransport: java.util.concurrent.atomic.AtomicBoolean started>;
entermonitor v;
label:
v = v.<org.apache.activemq.transport.vm.VMTransport: java.util.concurrent.atomic.AtomicBoolean started>;
v = virtualinvoke v.<java.util.concurrent.atomic.AtomicBoolean: boolean compareAndSet(boolean,boolean)>(0, 1);
if v == 0 goto label;
v = virtualinvoke v.<org.apache.activemq.transport.vm.VMTransport: java.util.concurrent.LinkedBlockingQueue getMessageQueue()>();
label:
v = virtualinvoke v.<java.util.concurrent.LinkedBlockingQueue: java.lang.Object poll()>();
if v == null goto label;
v = v.<org.apache.activemq.transport.vm.VMTransport: java.util.concurrent.atomic.AtomicBoolean disposed>;
v = virtualinvoke v.<java.util.concurrent.atomic.AtomicBoolean: boolean get()>();
if v != 0 goto label;
v = v.<org.apache.activemq.transport.vm.VMTransport: int receiveCounter>;
v = v + 1;
v.<org.apache.activemq.transport.vm.VMTransport: int receiveCounter> = v;
v = v.<org.apache.activemq.transport.vm.VMTransport: org.apache.activemq.transport.TransportListener transportListener>;
virtualinvoke v.<org.apache.activemq.transport.vm.VMTransport: void doDispatch(org.apache.activemq.transport.vm.VMTransport,org.apache.activemq.transport.TransportListener,java.lang.Object)>(v, v, v);
goto label;
label:
exitmonitor v;
label:
goto label;
label:
v := @caughtexception;
exitmonitor v;
throw v;
label:
v = v.<org.apache.activemq.transport.vm.VMTransport: java.util.concurrent.atomic.AtomicBoolean started>;
v = virtualinvoke v.<java.util.concurrent.atomic.AtomicBoolean: boolean compareAndSet(boolean,boolean)>(0, 1);
if v == 0 goto label;
virtualinvoke v.<org.apache.activemq.transport.vm.VMTransport: void wakeup()>();
label:
return;
catch java.lang.Throwable from label to label with label;
}
public void stop() throws java.lang.Exception
{
org.apache.activemq.transport.vm.VMTransport v, v, v, v;
org.apache.activemq.transport.TransportListener v, v, v;
java.util.concurrent.atomic.AtomicBoolean v;
java.lang.String v;
boolean v;
java.util.concurrent.LinkedBlockingQueue v;
java.lang.Exception v, v, v;
org.apache.activemq.thread.TaskRunner v;
org.apache.activemq.transport.TransportDisposedIOException v;
org.apache.activemq.command.ShutdownInfo v;
org.apache.activemq.thread.TaskRunnerFactory v, v;
v := @this: org.apache.activemq.transport.vm.VMTransport;
v = v.<org.apache.activemq.transport.vm.VMTransport: java.util.concurrent.atomic.AtomicBoolean disposed>;
v = virtualinvoke v.<java.util.concurrent.atomic.AtomicBoolean: boolean compareAndSet(boolean,boolean)>(0, 1);
if v == 0 goto label;
v = v.<org.apache.activemq.transport.vm.VMTransport: org.apache.activemq.thread.TaskRunner taskRunner>;
v = v.<org.apache.activemq.transport.vm.VMTransport: java.util.concurrent.LinkedBlockingQueue messageQueue>;
v.<org.apache.activemq.transport.vm.VMTransport: org.apache.activemq.thread.TaskRunner taskRunner> = null;
v.<org.apache.activemq.transport.vm.VMTransport: java.util.concurrent.LinkedBlockingQueue messageQueue> = null;
if v == null goto label;
virtualinvoke v.<java.util.concurrent.LinkedBlockingQueue: void clear()>();
label:
if v == null goto label;
label:
interfaceinvoke v.<org.apache.activemq.thread.TaskRunner: void shutdown(long)>(1L);
label:
goto label;
label:
v := @caughtexception;
label:
v = v.<org.apache.activemq.transport.vm.VMTransport: org.apache.activemq.transport.vm.VMTransport peer>;
v = v.<org.apache.activemq.transport.vm.VMTransport: org.apache.activemq.transport.TransportListener transportListener>;
if v == null goto label;
label:
v = v.<org.apache.activemq.transport.vm.VMTransport: org.apache.activemq.transport.vm.VMTransport peer>;
v = v.<org.apache.activemq.transport.vm.VMTransport: org.apache.activemq.transport.TransportListener transportListener>;
v = new org.apache.activemq.command.ShutdownInfo;
specialinvoke v.<org.apache.activemq.command.ShutdownInfo: void <init>()>();
interfaceinvoke v.<org.apache.activemq.transport.TransportListener: void onCommand(java.lang.Object)>(v);
label:
goto label;
label:
v := @caughtexception;
label:
v = v.<org.apache.activemq.transport.vm.VMTransport: org.apache.activemq.transport.vm.VMTransport peer>;
v = v.<org.apache.activemq.transport.vm.VMTransport: org.apache.activemq.transport.TransportListener transportListener>;
v = new org.apache.activemq.transport.TransportDisposedIOException;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (org.apache.activemq.transport.vm.VMTransport)>(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[])>("peer (\u) stopped.");
specialinvoke v.<org.apache.activemq.transport.TransportDisposedIOException: void <init>(java.lang.String)>(v);
interfaceinvoke v.<org.apache.activemq.transport.TransportListener: void onException(java.io.IOException)>(v);
label:
goto label;
label:
v := @caughtexception;
label:
v = v.<org.apache.activemq.transport.vm.VMTransport: org.apache.activemq.thread.TaskRunnerFactory taskRunnerFactory>;
if v == null goto label;
v = v.<org.apache.activemq.transport.vm.VMTransport: org.apache.activemq.thread.TaskRunnerFactory taskRunnerFactory>;
virtualinvoke v.<org.apache.activemq.thread.TaskRunnerFactory: void shutdownNow()>();
v.<org.apache.activemq.transport.vm.VMTransport: org.apache.activemq.thread.TaskRunnerFactory taskRunnerFactory> = null;
label:
return;
catch java.lang.Exception from label to label with label;
catch java.lang.Exception from label to label with label;
catch java.lang.Exception from label to label with label;
}
protected void wakeup()
{
org.apache.activemq.transport.vm.VMTransport v;
java.util.concurrent.atomic.AtomicBoolean v;
org.apache.activemq.thread.TaskRunner v;
org.apache.activemq.transport.TransportDisposedIOException v;
java.lang.InterruptedException v;
java.lang.Thread v;
boolean v, v;
v := @this: org.apache.activemq.transport.vm.VMTransport;
v = v.<org.apache.activemq.transport.vm.VMTransport: boolean async>;
if v == 0 goto label;
v = v.<org.apache.activemq.transport.vm.VMTransport: java.util.concurrent.atomic.AtomicBoolean started>;
v = virtualinvoke v.<java.util.concurrent.atomic.AtomicBoolean: boolean get()>();
if v == 0 goto label;
label:
v = virtualinvoke v.<org.apache.activemq.transport.vm.VMTransport: org.apache.activemq.thread.TaskRunner getTaskRunner()>();
interfaceinvoke v.<org.apache.activemq.thread.TaskRunner: void wakeup()>();
label:
goto label;
label:
v := @caughtexception;
v = staticinvoke <java.lang.Thread: java.lang.Thread currentThread()>();
virtualinvoke v.<java.lang.Thread: void interrupt()>();
goto label;
label:
v := @caughtexception;
label:
return;
catch java.lang.InterruptedException from label to label with label;
catch org.apache.activemq.transport.TransportDisposedIOException from label to label with label;
}
public boolean iterate()
{
org.apache.activemq.transport.vm.VMTransport v, v;
org.apache.activemq.transport.TransportListener v, v;
java.util.concurrent.atomic.AtomicBoolean v, v, v;
boolean v, v, v, v, v;
java.io.IOException v;
java.util.concurrent.LinkedBlockingQueue v;
java.lang.Exception v, v;
org.apache.activemq.transport.TransportDisposedIOException v;
java.lang.Object v;
v := @this: org.apache.activemq.transport.vm.VMTransport;
v = v.<org.apache.activemq.transport.vm.VMTransport: org.apache.activemq.transport.TransportListener transportListener>;
label:
v = virtualinvoke v.<org.apache.activemq.transport.vm.VMTransport: java.util.concurrent.LinkedBlockingQueue getMessageQueue()>();
label:
goto label;
label:
v := @caughtexception;
return 0;
label:
v = virtualinvoke v.<java.util.concurrent.LinkedBlockingQueue: java.lang.Object poll()>();
if v == null goto label;
v = v.<org.apache.activemq.transport.vm.VMTransport: java.util.concurrent.atomic.AtomicBoolean disposed>;
v = virtualinvoke v.<java.util.concurrent.atomic.AtomicBoolean: boolean get()>();
if v != 0 goto label;
label:
interfaceinvoke v.<org.apache.activemq.transport.TransportListener: void onCommand(java.lang.Object)>(v);
label:
goto label;
label:
v := @caughtexception;
label:
v = v.<org.apache.activemq.transport.vm.VMTransport: org.apache.activemq.transport.vm.VMTransport peer>;
v = v.<org.apache.activemq.transport.vm.VMTransport: org.apache.activemq.transport.TransportListener transportListener>;
v = staticinvoke <org.apache.activemq.util.IOExceptionSupport: java.io.IOException create(java.lang.Exception)>(v);
interfaceinvoke v.<org.apache.activemq.transport.TransportListener: void onException(java.io.IOException)>(v);
label:
goto label;
label:
v := @caughtexception;
label:
v = virtualinvoke v.<java.util.concurrent.LinkedBlockingQueue: boolean isEmpty()>();
if v != 0 goto label;
v = v.<org.apache.activemq.transport.vm.VMTransport: java.util.concurrent.atomic.AtomicBoolean disposed>;
v = virtualinvoke v.<java.util.concurrent.atomic.AtomicBoolean: boolean get()>();
if v != 0 goto label;
v = 1;
goto label;
label:
v = 0;
label:
return v;
label:
v = v.<org.apache.activemq.transport.vm.VMTransport: java.util.concurrent.atomic.AtomicBoolean disposed>;
v = virtualinvoke v.<java.util.concurrent.atomic.AtomicBoolean: boolean get()>();
if v == 0 goto label;
virtualinvoke v.<java.util.concurrent.LinkedBlockingQueue: void clear()>();
label:
return 0;
catch org.apache.activemq.transport.TransportDisposedIOException from label to label with label;
catch java.lang.Exception from label to label with label;
catch java.lang.Exception from label to label with label;
}
public void setTransportListener(org.apache.activemq.transport.TransportListener)
{
org.apache.activemq.transport.vm.VMTransport v;
org.apache.activemq.transport.TransportListener v;
v := @this: org.apache.activemq.transport.vm.VMTransport;
v := @parameter: org.apache.activemq.transport.TransportListener;
v.<org.apache.activemq.transport.vm.VMTransport: org.apache.activemq.transport.TransportListener transportListener> = v;
return;
}
public java.util.concurrent.LinkedBlockingQueue getMessageQueue() throws org.apache.activemq.transport.TransportDisposedIOException
{
java.lang.Throwable v;
org.apache.activemq.transport.vm.VMTransport v;
java.util.concurrent.atomic.AtomicBoolean v;
java.util.concurrent.LinkedBlockingQueue v, v;
org.apache.activemq.transport.TransportDisposedIOException v;
int v;
boolean v;
v := @this: org.apache.activemq.transport.vm.VMTransport;
v = v.<org.apache.activemq.transport.vm.VMTransport: java.util.concurrent.LinkedBlockingQueue messageQueue>;
if v != null goto label;
entermonitor v;
label:
v = v.<org.apache.activemq.transport.vm.VMTransport: java.util.concurrent.LinkedBlockingQueue messageQueue>;
if v != null goto label;
v = v.<org.apache.activemq.transport.vm.VMTransport: java.util.concurrent.atomic.AtomicBoolean disposed>;
v = virtualinvoke v.<java.util.concurrent.atomic.AtomicBoolean: boolean get()>();
if v == 0 goto label;
v = new org.apache.activemq.transport.TransportDisposedIOException;
specialinvoke v.<org.apache.activemq.transport.TransportDisposedIOException: void <init>(java.lang.String)>("The Transport has been disposed");
throw v;
label:
v = new java.util.concurrent.LinkedBlockingQueue;
v = v.<org.apache.activemq.transport.vm.VMTransport: int asyncQueueDepth>;
specialinvoke v.<java.util.concurrent.LinkedBlockingQueue: void <init>(int)>(v);
v = v;
v.<org.apache.activemq.transport.vm.VMTransport: java.util.concurrent.LinkedBlockingQueue messageQueue> = v;
label:
exitmonitor v;
label:
goto label;
label:
v := @caughtexception;
exitmonitor v;
throw v;
label:
return v;
catch java.lang.Throwable from label to label with label;
}
protected org.apache.activemq.thread.TaskRunner getTaskRunner() throws org.apache.activemq.transport.TransportDisposedIOException
{
java.lang.Throwable v;
org.apache.activemq.transport.vm.VMTransport v;
java.util.concurrent.atomic.AtomicBoolean v;
org.apache.activemq.thread.TaskRunner v, v;
org.apache.activemq.transport.TransportDisposedIOException v;
org.apache.activemq.thread.TaskRunnerFactory v, v, v, v;
java.lang.String v, v;
boolean v;
v := @this: org.apache.activemq.transport.vm.VMTransport;
v = v.<org.apache.activemq.transport.vm.VMTransport: org.apache.activemq.thread.TaskRunner taskRunner>;
if v != null goto label;
entermonitor v;
label:
v = v.<org.apache.activemq.transport.vm.VMTransport: org.apache.activemq.thread.TaskRunner taskRunner>;
if v != null goto label;
v = v.<org.apache.activemq.transport.vm.VMTransport: java.util.concurrent.atomic.AtomicBoolean disposed>;
v = virtualinvoke v.<java.util.concurrent.atomic.AtomicBoolean: boolean get()>();
if v == 0 goto label;
v = new org.apache.activemq.transport.TransportDisposedIOException;
specialinvoke v.<org.apache.activemq.transport.TransportDisposedIOException: void <init>(java.lang.String)>("The Transport has been disposed");
throw v;
label:
v = virtualinvoke v.<org.apache.activemq.transport.vm.VMTransport: java.lang.String toString()>();
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[])>("ActiveMQ VMTransport: \u0001");
v = v.<org.apache.activemq.transport.vm.VMTransport: org.apache.activemq.thread.TaskRunnerFactory taskRunnerFactory>;
if v != null goto label;
v = new org.apache.activemq.thread.TaskRunnerFactory;
specialinvoke v.<org.apache.activemq.thread.TaskRunnerFactory: void <init>(java.lang.String)>(v);
v.<org.apache.activemq.transport.vm.VMTransport: org.apache.activemq.thread.TaskRunnerFactory taskRunnerFactory> = v;
v = v.<org.apache.activemq.transport.vm.VMTransport: org.apache.activemq.thread.TaskRunnerFactory taskRunnerFactory>;
virtualinvoke v.<org.apache.activemq.thread.TaskRunnerFactory: void init()>();
label:
v = v.<org.apache.activemq.transport.vm.VMTransport: org.apache.activemq.thread.TaskRunnerFactory taskRunnerFactory>;
v = virtualinvoke v.<org.apache.activemq.thread.TaskRunnerFactory: org.apache.activemq.thread.TaskRunner createTaskRunner(org.apache.activemq.thread.Task,java.lang.String)>(v, v);
v = v;
v.<org.apache.activemq.transport.vm.VMTransport: org.apache.activemq.thread.TaskRunner taskRunner> = v;
label:
exitmonitor v;
label:
goto label;
label:
v := @caughtexception;
exitmonitor v;
throw v;
label:
return v;
catch java.lang.Throwable from label to label with label;
}
public org.apache.activemq.transport.FutureResponse asyncRequest(java.lang.Object, org.apache.activemq.transport.ResponseCallback) throws java.io.IOException
{
org.apache.activemq.transport.vm.VMTransport v;
org.apache.activemq.transport.ResponseCallback v;
java.lang.Object v;
java.lang.AssertionError v;
v := @this: org.apache.activemq.transport.vm.VMTransport;
v := @parameter: java.lang.Object;
v := @parameter: org.apache.activemq.transport.ResponseCallback;
v = new java.lang.AssertionError;
specialinvoke v.<java.lang.AssertionError: void <init>(java.lang.Object)>("Unsupported Method");
throw v;
}
public java.lang.Object request(java.lang.Object) throws java.io.IOException
{
org.apache.activemq.transport.vm.VMTransport v;
java.lang.Object v;
java.lang.AssertionError v;
v := @this: org.apache.activemq.transport.vm.VMTransport;
v := @parameter: java.lang.Object;
v = new java.lang.AssertionError;
specialinvoke v.<java.lang.AssertionError: void <init>(java.lang.Object)>("Unsupported Method");
throw v;
}
public java.lang.Object request(java.lang.Object, int) throws java.io.IOException
{
org.apache.activemq.transport.vm.VMTransport v;
int v;
java.lang.Object v;
java.lang.AssertionError v;
v := @this: org.apache.activemq.transport.vm.VMTransport;
v := @parameter: java.lang.Object;
v := @parameter: int;
v = new java.lang.AssertionError;
specialinvoke v.<java.lang.AssertionError: void <init>(java.lang.Object)>("Unsupported Method");
throw v;
}
public org.apache.activemq.transport.TransportListener getTransportListener()
{
org.apache.activemq.transport.vm.VMTransport v;
org.apache.activemq.transport.TransportListener v;
v := @this: org.apache.activemq.transport.vm.VMTransport;
v = v.<org.apache.activemq.transport.vm.VMTransport: org.apache.activemq.transport.TransportListener transportListener>;
return v;
}
public java.lang.Object narrow(java.lang.Class)
{
org.apache.activemq.transport.vm.VMTransport v;
java.lang.Class v, v;
java.lang.Object v;
boolean v;
v := @this: org.apache.activemq.transport.vm.VMTransport;
v := @parameter: java.lang.Class;
v = virtualinvoke v.<java.lang.Object: java.lang.Class getClass()>();
v = virtualinvoke v.<java.lang.Class: boolean isAssignableFrom(java.lang.Class)>(v);
if v == 0 goto label;
v = virtualinvoke v.<java.lang.Class: java.lang.Object cast(java.lang.Object)>(v);
return v;
label:
return null;
}
public boolean isMarshal()
{
org.apache.activemq.transport.vm.VMTransport v;
boolean v;
v := @this: org.apache.activemq.transport.vm.VMTransport;
v = v.<org.apache.activemq.transport.vm.VMTransport: boolean marshal>;
return v;
}
public void setMarshal(boolean)
{
org.apache.activemq.transport.vm.VMTransport v;
boolean v;
v := @this: org.apache.activemq.transport.vm.VMTransport;
v := @parameter: boolean;
v.<org.apache.activemq.transport.vm.VMTransport: boolean marshal> = v;
return;
}
public java.lang.String toString()
{
org.apache.activemq.transport.vm.VMTransport v;
long v;
java.lang.String v;
java.net.URI v;
v := @this: org.apache.activemq.transport.vm.VMTransport;
v = v.<org.apache.activemq.transport.vm.VMTransport: java.net.URI location>;
v = v.<org.apache.activemq.transport.vm.VMTransport: long id>;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.net.URI,long)>(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[])>("\u0001#\u0001");
return v;
}
public java.lang.String getRemoteAddress()
{
org.apache.activemq.transport.vm.VMTransport v, v, v;
java.lang.String v;
v := @this: org.apache.activemq.transport.vm.VMTransport;
v = v.<org.apache.activemq.transport.vm.VMTransport: org.apache.activemq.transport.vm.VMTransport peer>;
if v == null goto label;
v = v.<org.apache.activemq.transport.vm.VMTransport: org.apache.activemq.transport.vm.VMTransport peer>;
v = virtualinvoke v.<org.apache.activemq.transport.vm.VMTransport: java.lang.String toString()>();
return v;
label:
return null;
}
public boolean isAsync()
{
org.apache.activemq.transport.vm.VMTransport v;
boolean v;
v := @this: org.apache.activemq.transport.vm.VMTransport;
v = v.<org.apache.activemq.transport.vm.VMTransport: boolean async>;
return v;
}
public void setAsync(boolean)
{
org.apache.activemq.transport.vm.VMTransport v;
boolean v;
v := @this: org.apache.activemq.transport.vm.VMTransport;
v := @parameter: boolean;
v.<org.apache.activemq.transport.vm.VMTransport: boolean async> = v;
return;
}
public int getAsyncQueueDepth()
{
int v;
org.apache.activemq.transport.vm.VMTransport v;
v := @this: org.apache.activemq.transport.vm.VMTransport;
v = v.<org.apache.activemq.transport.vm.VMTransport: int asyncQueueDepth>;
return v;
}
public void setAsyncQueueDepth(int)
{
int v;
org.apache.activemq.transport.vm.VMTransport v;
v := @this: org.apache.activemq.transport.vm.VMTransport;
v := @parameter: int;
v.<org.apache.activemq.transport.vm.VMTransport: int asyncQueueDepth> = v;
return;
}
public boolean isFaultTolerant()
{
org.apache.activemq.transport.vm.VMTransport v;
v := @this: org.apache.activemq.transport.vm.VMTransport;
return 0;
}
public boolean isDisposed()
{
org.apache.activemq.transport.vm.VMTransport v;
java.util.concurrent.atomic.AtomicBoolean v;
boolean v;
v := @this: org.apache.activemq.transport.vm.VMTransport;
v = v.<org.apache.activemq.transport.vm.VMTransport: java.util.concurrent.atomic.AtomicBoolean disposed>;
v = virtualinvoke v.<java.util.concurrent.atomic.AtomicBoolean: boolean get()>();
return v;
}
public boolean isConnected()
{
org.apache.activemq.transport.vm.VMTransport v;
java.util.concurrent.atomic.AtomicBoolean v;
boolean v, v;
v := @this: org.apache.activemq.transport.vm.VMTransport;
v = v.<org.apache.activemq.transport.vm.VMTransport: java.util.concurrent.atomic.AtomicBoolean disposed>;
v = virtualinvoke v.<java.util.concurrent.atomic.AtomicBoolean: boolean get()>();
if v != 0 goto label;
v = 1;
goto label;
label:
v = 0;
label:
return v;
}
public void reconnect(java.net.URI) throws java.io.IOException
{
org.apache.activemq.transport.vm.VMTransport v;
java.io.IOException v;
java.net.URI v;
v := @this: org.apache.activemq.transport.vm.VMTransport;
v := @parameter: java.net.URI;
v = new java.io.IOException;
specialinvoke v.<java.io.IOException: void <init>(java.lang.String)>("Transport reconnect is not supported");
throw v;
}
public boolean isReconnectSupported()
{
org.apache.activemq.transport.vm.VMTransport v;
v := @this: org.apache.activemq.transport.vm.VMTransport;
return 0;
}
public boolean isUpdateURIsSupported()
{
org.apache.activemq.transport.vm.VMTransport v;
v := @this: org.apache.activemq.transport.vm.VMTransport;
return 0;
}
public void updateURIs(boolean, java.net.URI[]) throws java.io.IOException
{
org.apache.activemq.transport.vm.VMTransport v;
java.net.URI[] v;
java.io.IOException v;
boolean v;
v := @this: org.apache.activemq.transport.vm.VMTransport;
v := @parameter: boolean;
v := @parameter: java.net.URI[];
v = new java.io.IOException;
specialinvoke v.<java.io.IOException: void <init>(java.lang.String)>("URI update feature not supported");
throw v;
}
public int getReceiveCounter()
{
int v;
org.apache.activemq.transport.vm.VMTransport v;
v := @this: org.apache.activemq.transport.vm.VMTransport;
v = v.<org.apache.activemq.transport.vm.VMTransport: int receiveCounter>;
return v;
}
public java.security.cert.X509Certificate[] getPeerCertificates()
{
org.apache.activemq.transport.vm.VMTransport v;
v := @this: org.apache.activemq.transport.vm.VMTransport;
return null;
}
public void setPeerCertificates(java.security.cert.X509Certificate[])
{
org.apache.activemq.transport.vm.VMTransport v;
java.security.cert.X509Certificate[] v;
v := @this: org.apache.activemq.transport.vm.VMTransport;
v := @parameter: java.security.cert.X509Certificate[];
return;
}
public org.apache.activemq.wireformat.WireFormat getWireFormat()
{
org.apache.activemq.transport.vm.VMTransport v;
v := @this: org.apache.activemq.transport.vm.VMTransport;
return null;
}
static void <clinit>()
{
java.util.concurrent.atomic.AtomicLong v;
org.slf4j.Logger v;
v = staticinvoke <org.slf4j.LoggerFactory: org.slf4j.Logger getLogger(java.lang.Class)>(class "Lorg/apache/activemq/transport/vm/VMTransport;");
<org.apache.activemq.transport.vm.VMTransport: org.slf4j.Logger LOG> = v;
v = new java.util.concurrent.atomic.AtomicLong;
specialinvoke v.<java.util.concurrent.atomic.AtomicLong: void <init>(long)>(0L);
<org.apache.activemq.transport.vm.VMTransport: java.util.concurrent.atomic.AtomicLong NEXT_ID> = v;
return;
}
}