public class org.apache.activemq.transport.tcp.TcpTransportServer extends org.apache.activemq.transport.TransportServerThreadSupport implements org.apache.activemq.util.ServiceListener
{
private static final org.slf4j.Logger LOG;
protected volatile java.net.ServerSocket serverSocket;
protected volatile java.nio.channels.Selector selector;
protected int backlog;
protected org.apache.activemq.wireformat.WireFormatFactory wireFormatFactory;
protected final org.apache.activemq.transport.tcp.TcpTransportFactory transportFactory;
protected long maxInactivityDuration;
protected long maxInactivityDurationInitalDelay;
protected int minmumWireFormatVersion;
protected boolean useQueueForAccept;
protected boolean allowLinkStealing;
protected boolean verifyHostName;
protected boolean trace;
protected int soTimeout;
protected int socketBufferSize;
protected int connectionTimeout;
protected java.lang.String logWriterName;
protected boolean dynamicManagement;
protected boolean startLogging;
protected int jmxPort;
protected final javax.net.ServerSocketFactory serverSocketFactory;
protected final java.util.concurrent.BlockingQueue socketQueue;
protected java.lang.Thread socketHandlerThread;
protected int maximumConnections;
protected final java.util.concurrent.atomic.AtomicInteger currentTransportCount;
public void <init>(org.apache.activemq.transport.tcp.TcpTransportFactory, java.net.URI, javax.net.ServerSocketFactory) throws java.io.IOException, java.net.URISyntaxException
{
org.apache.activemq.transport.tcp.TcpTransportFactory v;
org.apache.activemq.openwire.OpenWireFormatFactory v;
java.util.concurrent.LinkedBlockingQueue v;
java.util.concurrent.atomic.AtomicInteger v;
org.apache.activemq.transport.tcp.TcpTransportServer v;
int v;
javax.net.ServerSocketFactory v;
java.lang.String v;
java.net.URI v;
v := @this: org.apache.activemq.transport.tcp.TcpTransportServer;
v := @parameter: org.apache.activemq.transport.tcp.TcpTransportFactory;
v := @parameter: java.net.URI;
v := @parameter: javax.net.ServerSocketFactory;
specialinvoke v.<org.apache.activemq.transport.TransportServerThreadSupport: void <init>(java.net.URI)>(v);
v.<org.apache.activemq.transport.tcp.TcpTransportServer: int backlog> = 5000;
v = new org.apache.activemq.openwire.OpenWireFormatFactory;
specialinvoke v.<org.apache.activemq.openwire.OpenWireFormatFactory: void <init>()>();
v.<org.apache.activemq.transport.tcp.TcpTransportServer: org.apache.activemq.wireformat.WireFormatFactory wireFormatFactory> = v;
v.<org.apache.activemq.transport.tcp.TcpTransportServer: long maxInactivityDuration> = 30000L;
v.<org.apache.activemq.transport.tcp.TcpTransportServer: long maxInactivityDurationInitalDelay> = 10000L;
v.<org.apache.activemq.transport.tcp.TcpTransportServer: boolean useQueueForAccept> = 1;
v.<org.apache.activemq.transport.tcp.TcpTransportServer: boolean verifyHostName> = 0;
v.<org.apache.activemq.transport.tcp.TcpTransportServer: boolean trace> = 0;
v.<org.apache.activemq.transport.tcp.TcpTransportServer: int soTimeout> = 0;
v.<org.apache.activemq.transport.tcp.TcpTransportServer: int socketBufferSize> = 65536;
v.<org.apache.activemq.transport.tcp.TcpTransportServer: int connectionTimeout> = 30000;
v = <org.apache.activemq.TransportLoggerSupport: java.lang.String defaultLogWriterName>;
v.<org.apache.activemq.transport.tcp.TcpTransportServer: java.lang.String logWriterName> = v;
v.<org.apache.activemq.transport.tcp.TcpTransportServer: boolean dynamicManagement> = 0;
v.<org.apache.activemq.transport.tcp.TcpTransportServer: boolean startLogging> = 1;
v = <org.apache.activemq.TransportLoggerSupport: int defaultJmxPort>;
v.<org.apache.activemq.transport.tcp.TcpTransportServer: int jmxPort> = v;
v = new java.util.concurrent.LinkedBlockingQueue;
specialinvoke v.<java.util.concurrent.LinkedBlockingQueue: void <init>()>();
v.<org.apache.activemq.transport.tcp.TcpTransportServer: java.util.concurrent.BlockingQueue socketQueue> = v;
v.<org.apache.activemq.transport.tcp.TcpTransportServer: int maximumConnections> = 2147483647;
v = new java.util.concurrent.atomic.AtomicInteger;
specialinvoke v.<java.util.concurrent.atomic.AtomicInteger: void <init>()>();
v.<org.apache.activemq.transport.tcp.TcpTransportServer: java.util.concurrent.atomic.AtomicInteger currentTransportCount> = v;
v.<org.apache.activemq.transport.tcp.TcpTransportServer: org.apache.activemq.transport.tcp.TcpTransportFactory transportFactory> = v;
v.<org.apache.activemq.transport.tcp.TcpTransportServer: javax.net.ServerSocketFactory serverSocketFactory> = v;
return;
}
public void bind() throws java.io.IOException
{
java.net.URISyntaxException v, v;
java.net.InetAddress v;
java.net.ServerSocket v, v, v, v, v;
org.apache.activemq.transport.tcp.TcpTransportServer v;
java.net.URI v, v, v;
int v, v, v, v, v;
java.lang.String v, v, v, v, v, v, v, v, v, v, v, v, v, v, v;
java.io.IOException v, v, v;
javax.net.ServerSocketFactory v;
v := @this: org.apache.activemq.transport.tcp.TcpTransportServer;
v = virtualinvoke v.<org.apache.activemq.transport.tcp.TcpTransportServer: java.net.URI getBindLocation()>();
v = virtualinvoke v.<java.net.URI: java.lang.String getHost()>();
if v == null goto label;
v = virtualinvoke v.<java.lang.String: int length()>();
if v != 0 goto label;
label:
v = "localhost";
goto label;
label:
v = v;
label:
v = staticinvoke <java.net.InetAddress: java.net.InetAddress getByName(java.lang.String)>(v);
label:
v = v.<org.apache.activemq.transport.tcp.TcpTransportServer: javax.net.ServerSocketFactory serverSocketFactory>;
v = virtualinvoke v.<java.net.URI: int getPort()>();
v = v.<org.apache.activemq.transport.tcp.TcpTransportServer: int backlog>;
v = virtualinvoke v.<javax.net.ServerSocketFactory: java.net.ServerSocket createServerSocket(int,int,java.net.InetAddress)>(v, v, v);
v.<org.apache.activemq.transport.tcp.TcpTransportServer: java.net.ServerSocket serverSocket> = v;
v = v.<org.apache.activemq.transport.tcp.TcpTransportServer: java.net.ServerSocket serverSocket>;
specialinvoke v.<org.apache.activemq.transport.tcp.TcpTransportServer: void configureServerSocket(java.net.ServerSocket)>(v);
label:
goto label;
label:
v := @caughtexception;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.net.URI,java.io.IOException)>(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[])>("Failed to bind to server socket: \u due to: \u0001");
v = staticinvoke <org.apache.activemq.util.IOExceptionSupport: java.io.IOException create(java.lang.String,java.lang.Exception)>(v, v);
throw v;
label:
v = new java.net.URI;
v = virtualinvoke v.<java.net.URI: java.lang.String getScheme()>();
v = virtualinvoke v.<java.net.URI: java.lang.String getUserInfo()>();
v = v.<org.apache.activemq.transport.tcp.TcpTransportServer: java.net.ServerSocket serverSocket>;
v = virtualinvoke v.<org.apache.activemq.transport.tcp.TcpTransportServer: java.lang.String resolveHostName(java.net.ServerSocket,java.net.InetAddress)>(v, v);
v = v.<org.apache.activemq.transport.tcp.TcpTransportServer: java.net.ServerSocket serverSocket>;
v = virtualinvoke v.<java.net.ServerSocket: int getLocalPort()>();
v = virtualinvoke v.<java.net.URI: java.lang.String getPath()>();
v = virtualinvoke v.<java.net.URI: java.lang.String getQuery()>();
v = virtualinvoke v.<java.net.URI: java.lang.String getFragment()>();
specialinvoke v.<java.net.URI: void <init>(java.lang.String,java.lang.String,java.lang.String,int,java.lang.String,java.lang.String,java.lang.String)>(v, v, v, v, v, v, v);
virtualinvoke v.<org.apache.activemq.transport.tcp.TcpTransportServer: void setConnectURI(java.net.URI)>(v);
label:
goto label;
label:
v := @caughtexception;
label:
v = new java.net.URI;
v = virtualinvoke v.<java.net.URI: java.lang.String getScheme()>();
v = virtualinvoke v.<java.net.URI: java.lang.String getUserInfo()>();
v = virtualinvoke v.<java.net.InetAddress: java.lang.String getHostAddress()>();
v = v.<org.apache.activemq.transport.tcp.TcpTransportServer: java.net.ServerSocket serverSocket>;
v = virtualinvoke v.<java.net.ServerSocket: int getLocalPort()>();
v = virtualinvoke v.<java.net.URI: java.lang.String getPath()>();
v = virtualinvoke v.<java.net.URI: java.lang.String getQuery()>();
v = virtualinvoke v.<java.net.URI: java.lang.String getFragment()>();
specialinvoke v.<java.net.URI: void <init>(java.lang.String,java.lang.String,java.lang.String,int,java.lang.String,java.lang.String,java.lang.String)>(v, v, v, v, v, v, v);
virtualinvoke v.<org.apache.activemq.transport.tcp.TcpTransportServer: void setConnectURI(java.net.URI)>(v);
label:
goto label;
label:
v := @caughtexception;
v = staticinvoke <org.apache.activemq.util.IOExceptionSupport: java.io.IOException create(java.lang.Exception)>(v);
throw v;
label:
return;
catch java.io.IOException from label to label with label;
catch java.net.URISyntaxException from label to label with label;
catch java.net.URISyntaxException from label to label with label;
}
private void configureServerSocket(java.net.ServerSocket) throws java.net.SocketException
{
java.lang.Object[] v;
javax.net.ssl.SSLParameters v;
java.net.ServerSocket v, v;
java.net.SocketException v;
org.apache.activemq.transport.tcp.TcpTransportServer v;
java.util.Map v, v, v, v, v, v, v;
java.lang.Boolean v;
java.lang.String v, v;
boolean v, v, v, v, v, v, v;
java.lang.Object v, v;
v := @this: org.apache.activemq.transport.tcp.TcpTransportServer;
v := @parameter: java.net.ServerSocket;
virtualinvoke v.<java.net.ServerSocket: void setSoTimeout(int)>(2000);
v = v.<org.apache.activemq.transport.tcp.TcpTransportServer: java.util.Map transportOptions>;
if v == null goto label;
v = v instanceof javax.net.ssl.SSLServerSocket;
if v == 0 goto label;
v = v.<org.apache.activemq.transport.tcp.TcpTransportServer: java.util.Map transportOptions>;
v = interfaceinvoke v.<java.util.Map: boolean containsKey(java.lang.Object)>("verifyHostName");
if v == 0 goto label;
v = v.<org.apache.activemq.transport.tcp.TcpTransportServer: java.util.Map transportOptions>;
v = interfaceinvoke v.<java.util.Map: java.lang.Object get(java.lang.Object)>("verifyHostName");
v = virtualinvoke v.<java.lang.Object: java.lang.String toString()>();
v = staticinvoke <java.lang.Boolean: boolean parseBoolean(java.lang.String)>(v);
v.<org.apache.activemq.transport.tcp.TcpTransportServer: boolean verifyHostName> = v;
goto label;
label:
v = v.<org.apache.activemq.transport.tcp.TcpTransportServer: java.util.Map transportOptions>;
v = v.<org.apache.activemq.transport.tcp.TcpTransportServer: boolean verifyHostName>;
v = staticinvoke <java.lang.Boolean: java.lang.Boolean valueOf(boolean)>(v);
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>("verifyHostName", v);
label:
v = v.<org.apache.activemq.transport.tcp.TcpTransportServer: boolean verifyHostName>;
if v == 0 goto label;
v = new javax.net.ssl.SSLParameters;
specialinvoke v.<javax.net.ssl.SSLParameters: void <init>()>();
virtualinvoke v.<javax.net.ssl.SSLParameters: void setEndpointIdentificationAlgorithm(java.lang.String)>("HTTPS");
v = v.<org.apache.activemq.transport.tcp.TcpTransportServer: java.net.ServerSocket serverSocket>;
virtualinvoke v.<javax.net.ssl.SSLServerSocket: void setSSLParameters(javax.net.ssl.SSLParameters)>(v);
label:
v = v.<org.apache.activemq.transport.tcp.TcpTransportServer: java.util.Map transportOptions>;
v = interfaceinvoke v.<java.util.Map: boolean containsKey(java.lang.Object)>("enabledCipherSuites");
if v == 0 goto label;
v = v.<org.apache.activemq.transport.tcp.TcpTransportServer: java.util.Map transportOptions>;
v = interfaceinvoke v.<java.util.Map: java.lang.Object remove(java.lang.Object)>("enabledCipherSuites");
v = staticinvoke <org.apache.activemq.util.IntrospectionSupport: boolean setProperty(java.lang.Object,java.lang.String,java.lang.Object)>(v, "enabledCipherSuites", v);
if v != 0 goto label;
v = new java.net.SocketException;
v = newarray (java.lang.Object)[1];
v[0] = v;
v = staticinvoke <java.lang.String: java.lang.String format(java.lang.String,java.lang.Object[])>("Invalid transport options {enabledCipherSuites=%s}", v);
specialinvoke v.<java.net.SocketException: void <init>(java.lang.String)>(v);
throw v;
label:
v = v.<org.apache.activemq.transport.tcp.TcpTransportServer: java.util.Map transportOptions>;
staticinvoke <org.apache.activemq.util.IntrospectionSupport: boolean setProperties(java.lang.Object,java.util.Map,boolean)>(v, v, 0);
label:
return;
}
public org.apache.activemq.wireformat.WireFormatFactory getWireFormatFactory()
{
org.apache.activemq.wireformat.WireFormatFactory v;
org.apache.activemq.transport.tcp.TcpTransportServer v;
v := @this: org.apache.activemq.transport.tcp.TcpTransportServer;
v = v.<org.apache.activemq.transport.tcp.TcpTransportServer: org.apache.activemq.wireformat.WireFormatFactory wireFormatFactory>;
return v;
}
public void setWireFormatFactory(org.apache.activemq.wireformat.WireFormatFactory)
{
org.apache.activemq.wireformat.WireFormatFactory v;
org.apache.activemq.transport.tcp.TcpTransportServer v;
v := @this: org.apache.activemq.transport.tcp.TcpTransportServer;
v := @parameter: org.apache.activemq.wireformat.WireFormatFactory;
v.<org.apache.activemq.transport.tcp.TcpTransportServer: org.apache.activemq.wireformat.WireFormatFactory wireFormatFactory> = v;
return;
}
public void setBrokerInfo(org.apache.activemq.command.BrokerInfo)
{
org.apache.activemq.command.BrokerInfo v;
org.apache.activemq.transport.tcp.TcpTransportServer v;
v := @this: org.apache.activemq.transport.tcp.TcpTransportServer;
v := @parameter: org.apache.activemq.command.BrokerInfo;
return;
}
public long getMaxInactivityDuration()
{
long v;
org.apache.activemq.transport.tcp.TcpTransportServer v;
v := @this: org.apache.activemq.transport.tcp.TcpTransportServer;
v = v.<org.apache.activemq.transport.tcp.TcpTransportServer: long maxInactivityDuration>;
return v;
}
public void setMaxInactivityDuration(long)
{
long v;
org.apache.activemq.transport.tcp.TcpTransportServer v;
v := @this: org.apache.activemq.transport.tcp.TcpTransportServer;
v := @parameter: long;
v.<org.apache.activemq.transport.tcp.TcpTransportServer: long maxInactivityDuration> = v;
return;
}
public long getMaxInactivityDurationInitalDelay()
{
long v;
org.apache.activemq.transport.tcp.TcpTransportServer v;
v := @this: org.apache.activemq.transport.tcp.TcpTransportServer;
v = v.<org.apache.activemq.transport.tcp.TcpTransportServer: long maxInactivityDurationInitalDelay>;
return v;
}
public void setMaxInactivityDurationInitalDelay(long)
{
long v;
org.apache.activemq.transport.tcp.TcpTransportServer v;
v := @this: org.apache.activemq.transport.tcp.TcpTransportServer;
v := @parameter: long;
v.<org.apache.activemq.transport.tcp.TcpTransportServer: long maxInactivityDurationInitalDelay> = v;
return;
}
public int getMinmumWireFormatVersion()
{
int v;
org.apache.activemq.transport.tcp.TcpTransportServer v;
v := @this: org.apache.activemq.transport.tcp.TcpTransportServer;
v = v.<org.apache.activemq.transport.tcp.TcpTransportServer: int minmumWireFormatVersion>;
return v;
}
public void setMinmumWireFormatVersion(int)
{
int v;
org.apache.activemq.transport.tcp.TcpTransportServer v;
v := @this: org.apache.activemq.transport.tcp.TcpTransportServer;
v := @parameter: int;
v.<org.apache.activemq.transport.tcp.TcpTransportServer: int minmumWireFormatVersion> = v;
return;
}
public boolean isTrace()
{
org.apache.activemq.transport.tcp.TcpTransportServer v;
boolean v;
v := @this: org.apache.activemq.transport.tcp.TcpTransportServer;
v = v.<org.apache.activemq.transport.tcp.TcpTransportServer: boolean trace>;
return v;
}
public void setTrace(boolean)
{
org.apache.activemq.transport.tcp.TcpTransportServer v;
boolean v;
v := @this: org.apache.activemq.transport.tcp.TcpTransportServer;
v := @parameter: boolean;
v.<org.apache.activemq.transport.tcp.TcpTransportServer: boolean trace> = v;
return;
}
public java.lang.String getLogWriterName()
{
java.lang.String v;
org.apache.activemq.transport.tcp.TcpTransportServer v;
v := @this: org.apache.activemq.transport.tcp.TcpTransportServer;
v = v.<org.apache.activemq.transport.tcp.TcpTransportServer: java.lang.String logWriterName>;
return v;
}
public void setLogWriterName(java.lang.String)
{
java.lang.String v;
org.apache.activemq.transport.tcp.TcpTransportServer v;
v := @this: org.apache.activemq.transport.tcp.TcpTransportServer;
v := @parameter: java.lang.String;
v.<org.apache.activemq.transport.tcp.TcpTransportServer: java.lang.String logWriterName> = v;
return;
}
public boolean isDynamicManagement()
{
org.apache.activemq.transport.tcp.TcpTransportServer v;
boolean v;
v := @this: org.apache.activemq.transport.tcp.TcpTransportServer;
v = v.<org.apache.activemq.transport.tcp.TcpTransportServer: boolean dynamicManagement>;
return v;
}
public void setDynamicManagement(boolean)
{
org.apache.activemq.transport.tcp.TcpTransportServer v;
boolean v;
v := @this: org.apache.activemq.transport.tcp.TcpTransportServer;
v := @parameter: boolean;
v.<org.apache.activemq.transport.tcp.TcpTransportServer: boolean dynamicManagement> = v;
return;
}
public void setJmxPort(int)
{
int v;
org.apache.activemq.transport.tcp.TcpTransportServer v;
v := @this: org.apache.activemq.transport.tcp.TcpTransportServer;
v := @parameter: int;
v.<org.apache.activemq.transport.tcp.TcpTransportServer: int jmxPort> = v;
return;
}
public int getJmxPort()
{
int v;
org.apache.activemq.transport.tcp.TcpTransportServer v;
v := @this: org.apache.activemq.transport.tcp.TcpTransportServer;
v = v.<org.apache.activemq.transport.tcp.TcpTransportServer: int jmxPort>;
return v;
}
public boolean isStartLogging()
{
org.apache.activemq.transport.tcp.TcpTransportServer v;
boolean v;
v := @this: org.apache.activemq.transport.tcp.TcpTransportServer;
v = v.<org.apache.activemq.transport.tcp.TcpTransportServer: boolean startLogging>;
return v;
}
public void setStartLogging(boolean)
{
org.apache.activemq.transport.tcp.TcpTransportServer v;
boolean v;
v := @this: org.apache.activemq.transport.tcp.TcpTransportServer;
v := @parameter: boolean;
v.<org.apache.activemq.transport.tcp.TcpTransportServer: boolean startLogging> = v;
return;
}
public int getBacklog()
{
int v;
org.apache.activemq.transport.tcp.TcpTransportServer v;
v := @this: org.apache.activemq.transport.tcp.TcpTransportServer;
v = v.<org.apache.activemq.transport.tcp.TcpTransportServer: int backlog>;
return v;
}
public void setBacklog(int)
{
int v;
org.apache.activemq.transport.tcp.TcpTransportServer v;
v := @this: org.apache.activemq.transport.tcp.TcpTransportServer;
v := @parameter: int;
v.<org.apache.activemq.transport.tcp.TcpTransportServer: int backlog> = v;
return;
}
public boolean isUseQueueForAccept()
{
org.apache.activemq.transport.tcp.TcpTransportServer v;
boolean v;
v := @this: org.apache.activemq.transport.tcp.TcpTransportServer;
v = v.<org.apache.activemq.transport.tcp.TcpTransportServer: boolean useQueueForAccept>;
return v;
}
public void setUseQueueForAccept(boolean)
{
org.apache.activemq.transport.tcp.TcpTransportServer v;
boolean v;
v := @this: org.apache.activemq.transport.tcp.TcpTransportServer;
v := @parameter: boolean;
v.<org.apache.activemq.transport.tcp.TcpTransportServer: boolean useQueueForAccept> = v;
return;
}
public void run()
{
java.net.ServerSocket v;
org.apache.activemq.transport.tcp.TcpTransportServer v;
java.io.IOException v;
boolean v, v;
java.nio.channels.ServerSocketChannel v;
v := @this: org.apache.activemq.transport.tcp.TcpTransportServer;
v = virtualinvoke v.<org.apache.activemq.transport.tcp.TcpTransportServer: boolean isStopped()>();
if v != 0 goto label;
v = virtualinvoke v.<org.apache.activemq.transport.tcp.TcpTransportServer: boolean isStopping()>();
if v != 0 goto label;
v = v.<org.apache.activemq.transport.tcp.TcpTransportServer: java.net.ServerSocket serverSocket>;
if v != null goto label;
v = new java.io.IOException;
specialinvoke v.<java.io.IOException: void <init>(java.lang.String)>("Server started without a valid ServerSocket");
virtualinvoke v.<org.apache.activemq.transport.tcp.TcpTransportServer: void onAcceptError(java.lang.Exception)>(v);
label:
v = virtualinvoke v.<java.net.ServerSocket: java.nio.channels.ServerSocketChannel getChannel()>();
if v == null goto label;
specialinvoke v.<org.apache.activemq.transport.tcp.TcpTransportServer: void doRunWithServerSocketChannel(java.nio.channels.ServerSocketChannel)>(v);
goto label;
label:
specialinvoke v.<org.apache.activemq.transport.tcp.TcpTransportServer: void doRunWithServerSocket(java.net.ServerSocket)>(v);
label:
return;
}
private void doRunWithServerSocketChannel(java.nio.channels.ServerSocketChannel)
{
java.net.Socket v, v;
java.nio.channels.Selector v;
java.nio.channels.SocketChannel v;
org.apache.activemq.transport.TransportAcceptListener v;
org.apache.activemq.transport.tcp.TcpTransportServer v;
java.net.SocketTimeoutException v;
int v;
boolean v, v, v, v, v, v, v, v, v;
org.slf4j.Logger v, v;
java.util.Iterator v;
java.nio.channels.ClosedChannelException v;
java.util.Set v;
java.io.IOException v;
java.util.concurrent.BlockingQueue v;
java.lang.Exception v;
java.nio.channels.ServerSocketChannel v;
java.lang.Object v;
v := @this: org.apache.activemq.transport.tcp.TcpTransportServer;
v := @parameter: java.nio.channels.ServerSocketChannel;
label:
virtualinvoke v.<java.nio.channels.ServerSocketChannel: java.nio.channels.SelectableChannel configureBlocking(boolean)>(0);
v = staticinvoke <java.nio.channels.Selector: java.nio.channels.Selector open()>();
label:
virtualinvoke v.<java.nio.channels.ServerSocketChannel: java.nio.channels.SelectionKey register(java.nio.channels.Selector,int)>(v, 16);
label:
goto label;
label:
v := @caughtexception;
throw v;
label:
v.<org.apache.activemq.transport.tcp.TcpTransportServer: java.nio.channels.Selector selector> = v;
label:
v = virtualinvoke v.<org.apache.activemq.transport.tcp.TcpTransportServer: boolean isStopped()>();
if v != 0 goto label;
v = virtualinvoke v.<java.nio.channels.Selector: int select(long)>(10L);
if v == 0 goto label;
v = virtualinvoke v.<java.nio.channels.Selector: java.util.Set selectedKeys()>();
v = interfaceinvoke v.<java.util.Set: java.util.Iterator iterator()>();
label:
v = interfaceinvoke v.<java.util.Iterator: boolean hasNext()>();
if v == 0 goto label;
v = interfaceinvoke v.<java.util.Iterator: java.lang.Object next()>();
v = virtualinvoke v.<java.nio.channels.SelectionKey: boolean isAcceptable()>();
if v == 0 goto label;
label:
v = virtualinvoke v.<java.nio.channels.ServerSocketChannel: java.nio.channels.SocketChannel accept()>();
if v == null goto label;
v = virtualinvoke v.<org.apache.activemq.transport.tcp.TcpTransportServer: boolean isStopped()>();
if v != 0 goto label;
v = virtualinvoke v.<org.apache.activemq.transport.tcp.TcpTransportServer: org.apache.activemq.transport.TransportAcceptListener getAcceptListener()>();
if v != null goto label;
label:
virtualinvoke v.<java.nio.channels.SocketChannel: void close()>();
goto label;
label:
v = v.<org.apache.activemq.transport.tcp.TcpTransportServer: boolean useQueueForAccept>;
if v == 0 goto label;
v = v.<org.apache.activemq.transport.tcp.TcpTransportServer: java.util.concurrent.BlockingQueue socketQueue>;
v = virtualinvoke v.<java.nio.channels.SocketChannel: java.net.Socket socket()>();
interfaceinvoke v.<java.util.concurrent.BlockingQueue: void put(java.lang.Object)>(v);
goto label;
label:
v = virtualinvoke v.<java.nio.channels.SocketChannel: java.net.Socket socket()>();
virtualinvoke v.<org.apache.activemq.transport.tcp.TcpTransportServer: void handleSocket(java.net.Socket)>(v);
label:
goto label;
label:
v := @caughtexception;
goto label;
label:
v := @caughtexception;
virtualinvoke v.<java.lang.Exception: void printStackTrace()>();
v = virtualinvoke v.<org.apache.activemq.transport.tcp.TcpTransportServer: boolean isStopping()>();
if v != 0 goto label;
virtualinvoke v.<org.apache.activemq.transport.tcp.TcpTransportServer: void onAcceptError(java.lang.Exception)>(v);
goto label;
label:
v = virtualinvoke v.<org.apache.activemq.transport.tcp.TcpTransportServer: boolean isStopped()>();
if v != 0 goto label;
v = <org.apache.activemq.transport.tcp.TcpTransportServer: org.slf4j.Logger LOG>;
interfaceinvoke v.<org.slf4j.Logger: void warn(java.lang.String,java.lang.Throwable)>("run()", v);
virtualinvoke v.<org.apache.activemq.transport.tcp.TcpTransportServer: void onAcceptError(java.lang.Exception)>(v);
label:
interfaceinvoke v.<java.util.Iterator: void remove()>();
goto label;
label:
v := @caughtexception;
v = virtualinvoke v.<org.apache.activemq.transport.tcp.TcpTransportServer: boolean isStopping()>();
if v != 0 goto label;
virtualinvoke v.<org.apache.activemq.transport.tcp.TcpTransportServer: void onAcceptError(java.lang.Exception)>(v);
goto label;
label:
v = virtualinvoke v.<org.apache.activemq.transport.tcp.TcpTransportServer: boolean isStopped()>();
if v != 0 goto label;
v = <org.apache.activemq.transport.tcp.TcpTransportServer: org.slf4j.Logger LOG>;
interfaceinvoke v.<org.slf4j.Logger: void warn(java.lang.String,java.lang.Throwable)>("run()", v);
virtualinvoke v.<org.apache.activemq.transport.tcp.TcpTransportServer: void onAcceptError(java.lang.Exception)>(v);
label:
return;
catch java.nio.channels.ClosedChannelException from label to label with label;
catch java.net.SocketTimeoutException from label to label with label;
catch java.lang.Exception from label to label with label;
catch java.io.IOException from label to label with label;
}
private void doRunWithServerSocket(java.net.ServerSocket)
{
java.net.Socket v;
org.slf4j.Logger v;
java.util.concurrent.BlockingQueue v;
java.lang.Exception v;
java.net.ServerSocket v;
org.apache.activemq.transport.TransportAcceptListener v;
org.apache.activemq.transport.tcp.TcpTransportServer v;
java.net.SocketTimeoutException v;
boolean v, v, v, v, v;
v := @this: org.apache.activemq.transport.tcp.TcpTransportServer;
v := @parameter: java.net.ServerSocket;
label:
v = virtualinvoke v.<org.apache.activemq.transport.tcp.TcpTransportServer: boolean isStopped()>();
if v != 0 goto label;
label:
v = virtualinvoke v.<java.net.ServerSocket: java.net.Socket accept()>();
if v == null goto label;
v = virtualinvoke v.<org.apache.activemq.transport.tcp.TcpTransportServer: boolean isStopped()>();
if v != 0 goto label;
v = virtualinvoke v.<org.apache.activemq.transport.tcp.TcpTransportServer: org.apache.activemq.transport.TransportAcceptListener getAcceptListener()>();
if v != null goto label;
label:
virtualinvoke v.<java.net.Socket: void close()>();
goto label;
label:
v = v.<org.apache.activemq.transport.tcp.TcpTransportServer: boolean useQueueForAccept>;
if v == 0 goto label;
v = v.<org.apache.activemq.transport.tcp.TcpTransportServer: java.util.concurrent.BlockingQueue socketQueue>;
interfaceinvoke v.<java.util.concurrent.BlockingQueue: void put(java.lang.Object)>(v);
goto label;
label:
virtualinvoke v.<org.apache.activemq.transport.tcp.TcpTransportServer: void handleSocket(java.net.Socket)>(v);
label:
goto label;
label:
v := @caughtexception;
goto label;
label:
v := @caughtexception;
v = virtualinvoke v.<org.apache.activemq.transport.tcp.TcpTransportServer: boolean isStopping()>();
if v != 0 goto label;
virtualinvoke v.<org.apache.activemq.transport.tcp.TcpTransportServer: void onAcceptError(java.lang.Exception)>(v);
goto label;
label:
v = virtualinvoke v.<org.apache.activemq.transport.tcp.TcpTransportServer: boolean isStopped()>();
if v != 0 goto label;
v = <org.apache.activemq.transport.tcp.TcpTransportServer: org.slf4j.Logger LOG>;
interfaceinvoke v.<org.slf4j.Logger: void warn(java.lang.String,java.lang.Throwable)>("run()", v);
virtualinvoke v.<org.apache.activemq.transport.tcp.TcpTransportServer: void onAcceptError(java.lang.Exception)>(v);
goto label;
label:
return;
catch java.net.SocketTimeoutException from label to label with label;
catch java.lang.Exception from label to label with label;
}
protected org.apache.activemq.transport.Transport createTransport(java.net.Socket, org.apache.activemq.wireformat.WireFormat) throws java.io.IOException
{
java.net.Socket v;
org.apache.activemq.transport.tcp.TcpTransportServer v;
org.apache.activemq.wireformat.WireFormat v;
org.apache.activemq.transport.tcp.TcpTransport v;
v := @this: org.apache.activemq.transport.tcp.TcpTransportServer;
v := @parameter: java.net.Socket;
v := @parameter: org.apache.activemq.wireformat.WireFormat;
v = new org.apache.activemq.transport.tcp.TcpTransport;
specialinvoke v.<org.apache.activemq.transport.tcp.TcpTransport: void <init>(org.apache.activemq.wireformat.WireFormat,java.net.Socket)>(v, v);
return v;
}
public java.lang.String toString()
{
java.lang.String v;
java.net.URI v;
org.apache.activemq.transport.tcp.TcpTransportServer v;
v := @this: org.apache.activemq.transport.tcp.TcpTransportServer;
v = virtualinvoke v.<org.apache.activemq.transport.tcp.TcpTransportServer: java.net.URI getBindLocation()>();
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.net.URI)>(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");
return v;
}
protected java.lang.String resolveHostName(java.net.ServerSocket, java.net.InetAddress) throws java.net.UnknownHostException
{
java.net.InetAddress v, v, v;
java.net.ServerSocket v;
org.apache.activemq.transport.tcp.TcpTransportServer v;
java.lang.String v;
boolean v, v;
v := @this: org.apache.activemq.transport.tcp.TcpTransportServer;
v := @parameter: java.net.ServerSocket;
v := @parameter: java.net.InetAddress;
v = virtualinvoke v.<java.net.ServerSocket: boolean isBound()>();
if v == 0 goto label;
v = virtualinvoke v.<java.net.ServerSocket: java.net.InetAddress getInetAddress()>();
v = virtualinvoke v.<java.net.InetAddress: boolean isAnyLocalAddress()>();
if v == 0 goto label;
v = staticinvoke <org.apache.activemq.util.InetAddressUtil: java.lang.String getLocalHostName()>();
goto label;
label:
v = virtualinvoke v.<java.net.ServerSocket: java.net.InetAddress getInetAddress()>();
v = virtualinvoke v.<java.net.InetAddress: java.lang.String getCanonicalHostName()>();
goto label;
label:
v = virtualinvoke v.<java.net.InetAddress: java.lang.String getCanonicalHostName()>();
label:
return v;
}
protected void doStart() throws java.lang.Exception
{
long v;
org.apache.activemq.transport.tcp.TcpTransportServer$1 v;
org.apache.activemq.transport.tcp.TcpTransportServer v;
java.lang.Thread v, v, v, v;
java.lang.String v, v;
boolean v;
v := @this: org.apache.activemq.transport.tcp.TcpTransportServer;
v = v.<org.apache.activemq.transport.tcp.TcpTransportServer: boolean useQueueForAccept>;
if v == 0 goto label;
v = new org.apache.activemq.transport.tcp.TcpTransportServer$1;
specialinvoke v.<org.apache.activemq.transport.tcp.TcpTransportServer$1: void <init>(org.apache.activemq.transport.tcp.TcpTransportServer)>(v);
v = new java.lang.Thread;
v = virtualinvoke v.<org.apache.activemq.transport.tcp.TcpTransportServer: 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 Transport Server Thread Handler: \u0001");
v = virtualinvoke v.<org.apache.activemq.transport.tcp.TcpTransportServer: long getStackSize()>();
specialinvoke v.<java.lang.Thread: void <init>(java.lang.ThreadGroup,java.lang.Runnable,java.lang.String,long)>(null, v, v, v);
v.<org.apache.activemq.transport.tcp.TcpTransportServer: java.lang.Thread socketHandlerThread> = v;
v = v.<org.apache.activemq.transport.tcp.TcpTransportServer: java.lang.Thread socketHandlerThread>;
virtualinvoke v.<java.lang.Thread: void setDaemon(boolean)>(1);
v = v.<org.apache.activemq.transport.tcp.TcpTransportServer: java.lang.Thread socketHandlerThread>;
virtualinvoke v.<java.lang.Thread: void setPriority(int)>(8);
v = v.<org.apache.activemq.transport.tcp.TcpTransportServer: java.lang.Thread socketHandlerThread>;
virtualinvoke v.<java.lang.Thread: void start()>();
label:
specialinvoke v.<org.apache.activemq.transport.TransportServerThreadSupport: void doStart()>();
return;
}
protected void doStop(org.apache.activemq.util.ServiceStopper) throws java.lang.Exception
{
java.nio.channels.Selector v, v;
java.lang.Exception v, v, v, v;
org.apache.activemq.util.ServiceStopper v;
java.net.ServerSocket v;
org.apache.activemq.transport.tcp.TcpTransportServer v;
java.lang.Thread v, v;
v := @this: org.apache.activemq.transport.tcp.TcpTransportServer;
v := @parameter: org.apache.activemq.util.ServiceStopper;
v = null;
label:
v = v.<org.apache.activemq.transport.tcp.TcpTransportServer: java.nio.channels.Selector selector>;
if v == null goto label;
v = v.<org.apache.activemq.transport.tcp.TcpTransportServer: java.nio.channels.Selector selector>;
virtualinvoke v.<java.nio.channels.Selector: void close()>();
v.<org.apache.activemq.transport.tcp.TcpTransportServer: java.nio.channels.Selector selector> = null;
label:
goto label;
label:
v := @caughtexception;
label:
v = v.<org.apache.activemq.transport.tcp.TcpTransportServer: java.net.ServerSocket serverSocket>;
if v == null goto label;
v.<org.apache.activemq.transport.tcp.TcpTransportServer: java.net.ServerSocket serverSocket> = null;
virtualinvoke v.<java.net.ServerSocket: void close()>();
label:
goto label;
label:
v := @caughtexception;
v = v;
label:
v = v.<org.apache.activemq.transport.tcp.TcpTransportServer: java.lang.Thread socketHandlerThread>;
if v == null goto label;
v = v.<org.apache.activemq.transport.tcp.TcpTransportServer: java.lang.Thread socketHandlerThread>;
virtualinvoke v.<java.lang.Thread: void interrupt()>();
v.<org.apache.activemq.transport.tcp.TcpTransportServer: java.lang.Thread socketHandlerThread> = null;
label:
specialinvoke v.<org.apache.activemq.transport.TransportServerThreadSupport: void doStop(org.apache.activemq.util.ServiceStopper)>(v);
label:
goto label;
label:
v := @caughtexception;
if v == null goto label;
v = v;
label:
if v == null goto label;
throw v;
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;
}
public java.net.InetSocketAddress getSocketAddress()
{
java.net.ServerSocket v;
java.net.SocketAddress v;
org.apache.activemq.transport.tcp.TcpTransportServer v;
v := @this: org.apache.activemq.transport.tcp.TcpTransportServer;
v = v.<org.apache.activemq.transport.tcp.TcpTransportServer: java.net.ServerSocket serverSocket>;
v = virtualinvoke v.<java.net.ServerSocket: java.net.SocketAddress getLocalSocketAddress()>();
return v;
}
protected void handleSocket(java.net.Socket)
{
java.net.Socket v;
org.apache.activemq.transport.tcp.TcpTransportServer v;
v := @this: org.apache.activemq.transport.tcp.TcpTransportServer;
v := @parameter: java.net.Socket;
virtualinvoke v.<org.apache.activemq.transport.tcp.TcpTransportServer: void doHandleSocket(java.net.Socket)>(v);
return;
}
protected final void doHandleSocket(java.net.Socket)
{
java.lang.Integer v, v, v, v, v;
org.apache.activemq.transport.TransportAcceptListener v;
java.lang.Long v, v;
java.util.concurrent.atomic.AtomicInteger v, v, v;
org.apache.activemq.transport.tcp.TcpTransportServer v;
java.util.Map v;
boolean v, v, v, v, v, v, v, v, v;
org.apache.activemq.transport.tcp.TcpTransportServer$TransportInfo v;
org.apache.activemq.wireformat.WireFormat v;
org.apache.activemq.transport.Transport v, v, v, v;
java.lang.Exception v, v;
java.net.Socket v;
org.apache.activemq.transport.TransportFactory v;
java.util.HashMap v;
long v, v;
org.apache.activemq.transport.tcp.ExceededMaximumConnectionsException v;
java.net.SocketTimeoutException v;
int v, v, v, v, v, v, v, v;
java.lang.Boolean v, v, v;
java.lang.String v;
org.slf4j.Logger v;
v := @this: org.apache.activemq.transport.tcp.TcpTransportServer;
v := @parameter: java.net.Socket;
v = 1;
v = 0;
label:
v = v.<org.apache.activemq.transport.tcp.TcpTransportServer: java.util.concurrent.atomic.AtomicInteger currentTransportCount>;
v = virtualinvoke v.<java.util.concurrent.atomic.AtomicInteger: int get()>();
v = v.<org.apache.activemq.transport.tcp.TcpTransportServer: int maximumConnections>;
if v < v goto label;
v = new org.apache.activemq.transport.tcp.ExceededMaximumConnectionsException;
specialinvoke v.<org.apache.activemq.transport.tcp.ExceededMaximumConnectionsException: void <init>(java.lang.String)>("Exceeded the maximum number of allowed client connections. See the \'maximumConnections\' property on the TCP transport configuration URI in the ActiveMQ configuration file (e.g., activemq.xml)");
throw v;
label:
v = v.<org.apache.activemq.transport.tcp.TcpTransportServer: java.util.concurrent.atomic.AtomicInteger currentTransportCount>;
v = v + 1;
v = virtualinvoke v.<java.util.concurrent.atomic.AtomicInteger: boolean compareAndSet(int,int)>(v, v);
if v == 0 goto label;
v = 1;
v = new java.util.HashMap;
specialinvoke v.<java.util.HashMap: void <init>()>();
v = v.<org.apache.activemq.transport.tcp.TcpTransportServer: long maxInactivityDuration>;
v = staticinvoke <java.lang.Long: java.lang.Long valueOf(long)>(v);
virtualinvoke v.<java.util.HashMap: java.lang.Object put(java.lang.Object,java.lang.Object)>("maxInactivityDuration", v);
v = v.<org.apache.activemq.transport.tcp.TcpTransportServer: long maxInactivityDurationInitalDelay>;
v = staticinvoke <java.lang.Long: java.lang.Long valueOf(long)>(v);
virtualinvoke v.<java.util.HashMap: java.lang.Object put(java.lang.Object,java.lang.Object)>("maxInactivityDurationInitalDelay", v);
v = v.<org.apache.activemq.transport.tcp.TcpTransportServer: int minmumWireFormatVersion>;
v = staticinvoke <java.lang.Integer: java.lang.Integer valueOf(int)>(v);
virtualinvoke v.<java.util.HashMap: java.lang.Object put(java.lang.Object,java.lang.Object)>("minmumWireFormatVersion", v);
v = v.<org.apache.activemq.transport.tcp.TcpTransportServer: boolean trace>;
v = staticinvoke <java.lang.Boolean: java.lang.Boolean valueOf(boolean)>(v);
virtualinvoke v.<java.util.HashMap: java.lang.Object put(java.lang.Object,java.lang.Object)>("trace", v);
v = v.<org.apache.activemq.transport.tcp.TcpTransportServer: int soTimeout>;
v = staticinvoke <java.lang.Integer: java.lang.Integer valueOf(int)>(v);
virtualinvoke v.<java.util.HashMap: java.lang.Object put(java.lang.Object,java.lang.Object)>("soTimeout", v);
v = v.<org.apache.activemq.transport.tcp.TcpTransportServer: int socketBufferSize>;
v = staticinvoke <java.lang.Integer: java.lang.Integer valueOf(int)>(v);
virtualinvoke v.<java.util.HashMap: java.lang.Object put(java.lang.Object,java.lang.Object)>("socketBufferSize", v);
v = v.<org.apache.activemq.transport.tcp.TcpTransportServer: int connectionTimeout>;
v = staticinvoke <java.lang.Integer: java.lang.Integer valueOf(int)>(v);
virtualinvoke v.<java.util.HashMap: java.lang.Object put(java.lang.Object,java.lang.Object)>("connectionTimeout", v);
v = v.<org.apache.activemq.transport.tcp.TcpTransportServer: java.lang.String logWriterName>;
virtualinvoke v.<java.util.HashMap: java.lang.Object put(java.lang.Object,java.lang.Object)>("logWriterName", v);
v = v.<org.apache.activemq.transport.tcp.TcpTransportServer: boolean dynamicManagement>;
v = staticinvoke <java.lang.Boolean: java.lang.Boolean valueOf(boolean)>(v);
virtualinvoke v.<java.util.HashMap: java.lang.Object put(java.lang.Object,java.lang.Object)>("dynamicManagement", v);
v = v.<org.apache.activemq.transport.tcp.TcpTransportServer: boolean startLogging>;
v = staticinvoke <java.lang.Boolean: java.lang.Boolean valueOf(boolean)>(v);
virtualinvoke v.<java.util.HashMap: java.lang.Object put(java.lang.Object,java.lang.Object)>("startLogging", v);
v = v.<org.apache.activemq.transport.tcp.TcpTransportServer: int jmxPort>;
v = staticinvoke <java.lang.Integer: java.lang.Integer valueOf(int)>(v);
virtualinvoke v.<java.util.HashMap: java.lang.Object put(java.lang.Object,java.lang.Object)>("jmxPort", v);
v = v.<org.apache.activemq.transport.tcp.TcpTransportServer: java.util.Map transportOptions>;
virtualinvoke v.<java.util.HashMap: void putAll(java.util.Map)>(v);
v = virtualinvoke v.<org.apache.activemq.transport.tcp.TcpTransportServer: org.apache.activemq.transport.tcp.TcpTransportServer$TransportInfo configureTransport(org.apache.activemq.transport.tcp.TcpTransportServer,java.net.Socket)>(v, v);
v = 0;
v = v.<org.apache.activemq.transport.tcp.TcpTransportServer$TransportInfo: org.apache.activemq.transport.Transport transport>;
v = v instanceof org.apache.activemq.util.ServiceSupport;
if v == 0 goto label;
v = v.<org.apache.activemq.transport.tcp.TcpTransportServer$TransportInfo: org.apache.activemq.transport.Transport transport>;
virtualinvoke v.<org.apache.activemq.util.ServiceSupport: void addServiceListener(org.apache.activemq.util.ServiceListener)>(v);
label:
v = v.<org.apache.activemq.transport.tcp.TcpTransportServer$TransportInfo: org.apache.activemq.transport.TransportFactory transportFactory>;
v = v.<org.apache.activemq.transport.tcp.TcpTransportServer$TransportInfo: org.apache.activemq.transport.Transport transport>;
v = v.<org.apache.activemq.transport.tcp.TcpTransportServer$TransportInfo: org.apache.activemq.wireformat.WireFormat format>;
v = virtualinvoke v.<org.apache.activemq.transport.TransportFactory: org.apache.activemq.transport.Transport serverConfigure(org.apache.activemq.transport.Transport,org.apache.activemq.wireformat.WireFormat,java.util.HashMap)>(v, v, v);
v = virtualinvoke v.<org.apache.activemq.transport.tcp.TcpTransportServer: org.apache.activemq.transport.TransportAcceptListener getAcceptListener()>();
interfaceinvoke v.<org.apache.activemq.transport.TransportAcceptListener: void onAccept(org.apache.activemq.transport.Transport)>(v);
label:
goto label;
label:
v := @caughtexception;
goto label;
label:
v := @caughtexception;
if v == 0 goto label;
label:
if v == 0 goto label;
v = v.<org.apache.activemq.transport.tcp.TcpTransportServer: java.util.concurrent.atomic.AtomicInteger currentTransportCount>;
virtualinvoke v.<java.util.concurrent.atomic.AtomicInteger: int decrementAndGet()>();
label:
virtualinvoke v.<java.net.Socket: void close()>();
label:
goto label;
label:
v := @caughtexception;
label:
v = virtualinvoke v.<org.apache.activemq.transport.tcp.TcpTransportServer: boolean isStopping()>();
if v != 0 goto label;
virtualinvoke v.<org.apache.activemq.transport.tcp.TcpTransportServer: void onAcceptError(java.lang.Exception)>(v);
goto label;
label:
v = virtualinvoke v.<org.apache.activemq.transport.tcp.TcpTransportServer: boolean isStopped()>();
if v != 0 goto label;
v = <org.apache.activemq.transport.tcp.TcpTransportServer: org.slf4j.Logger LOG>;
interfaceinvoke v.<org.slf4j.Logger: void warn(java.lang.String,java.lang.Throwable)>("run()", v);
virtualinvoke v.<org.apache.activemq.transport.tcp.TcpTransportServer: void onAcceptError(java.lang.Exception)>(v);
label:
return;
catch java.net.SocketTimeoutException 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 org.apache.activemq.transport.tcp.TcpTransportServer$TransportInfo configureTransport(org.apache.activemq.transport.tcp.TcpTransportServer, java.net.Socket) throws java.lang.Exception
{
java.net.Socket v;
org.apache.activemq.transport.tcp.TcpTransportFactory v;
org.apache.activemq.transport.tcp.TcpTransportServer$TransportInfo v;
org.apache.activemq.wireformat.WireFormat v;
org.apache.activemq.transport.Transport v;
org.apache.activemq.transport.tcp.TcpTransportServer v, v;
org.apache.activemq.wireformat.WireFormatFactory v;
v := @this: org.apache.activemq.transport.tcp.TcpTransportServer;
v := @parameter: org.apache.activemq.transport.tcp.TcpTransportServer;
v := @parameter: java.net.Socket;
v = v.<org.apache.activemq.transport.tcp.TcpTransportServer: org.apache.activemq.wireformat.WireFormatFactory wireFormatFactory>;
v = interfaceinvoke v.<org.apache.activemq.wireformat.WireFormatFactory: org.apache.activemq.wireformat.WireFormat createWireFormat()>();
v = virtualinvoke v.<org.apache.activemq.transport.tcp.TcpTransportServer: org.apache.activemq.transport.Transport createTransport(java.net.Socket,org.apache.activemq.wireformat.WireFormat)>(v, v);
v = new org.apache.activemq.transport.tcp.TcpTransportServer$TransportInfo;
v = v.<org.apache.activemq.transport.tcp.TcpTransportServer: org.apache.activemq.transport.tcp.TcpTransportFactory transportFactory>;
specialinvoke v.<org.apache.activemq.transport.tcp.TcpTransportServer$TransportInfo: void <init>(org.apache.activemq.transport.tcp.TcpTransportServer,org.apache.activemq.wireformat.WireFormat,org.apache.activemq.transport.Transport,org.apache.activemq.transport.TransportFactory)>(v, v, v, v);
return v;
}
public int getSoTimeout()
{
int v;
org.apache.activemq.transport.tcp.TcpTransportServer v;
v := @this: org.apache.activemq.transport.tcp.TcpTransportServer;
v = v.<org.apache.activemq.transport.tcp.TcpTransportServer: int soTimeout>;
return v;
}
public void setSoTimeout(int)
{
int v;
org.apache.activemq.transport.tcp.TcpTransportServer v;
v := @this: org.apache.activemq.transport.tcp.TcpTransportServer;
v := @parameter: int;
v.<org.apache.activemq.transport.tcp.TcpTransportServer: int soTimeout> = v;
return;
}
public int getSocketBufferSize()
{
int v;
org.apache.activemq.transport.tcp.TcpTransportServer v;
v := @this: org.apache.activemq.transport.tcp.TcpTransportServer;
v = v.<org.apache.activemq.transport.tcp.TcpTransportServer: int socketBufferSize>;
return v;
}
public void setSocketBufferSize(int)
{
int v;
org.apache.activemq.transport.tcp.TcpTransportServer v;
v := @this: org.apache.activemq.transport.tcp.TcpTransportServer;
v := @parameter: int;
v.<org.apache.activemq.transport.tcp.TcpTransportServer: int socketBufferSize> = v;
return;
}
public int getConnectionTimeout()
{
int v;
org.apache.activemq.transport.tcp.TcpTransportServer v;
v := @this: org.apache.activemq.transport.tcp.TcpTransportServer;
v = v.<org.apache.activemq.transport.tcp.TcpTransportServer: int connectionTimeout>;
return v;
}
public void setConnectionTimeout(int)
{
int v;
org.apache.activemq.transport.tcp.TcpTransportServer v;
v := @this: org.apache.activemq.transport.tcp.TcpTransportServer;
v := @parameter: int;
v.<org.apache.activemq.transport.tcp.TcpTransportServer: int connectionTimeout> = v;
return;
}
public int getMaximumConnections()
{
int v;
org.apache.activemq.transport.tcp.TcpTransportServer v;
v := @this: org.apache.activemq.transport.tcp.TcpTransportServer;
v = v.<org.apache.activemq.transport.tcp.TcpTransportServer: int maximumConnections>;
return v;
}
public void setMaximumConnections(int)
{
int v;
org.apache.activemq.transport.tcp.TcpTransportServer v;
v := @this: org.apache.activemq.transport.tcp.TcpTransportServer;
v := @parameter: int;
v.<org.apache.activemq.transport.tcp.TcpTransportServer: int maximumConnections> = v;
return;
}
public java.util.concurrent.atomic.AtomicInteger getCurrentTransportCount()
{
java.util.concurrent.atomic.AtomicInteger v;
org.apache.activemq.transport.tcp.TcpTransportServer v;
v := @this: org.apache.activemq.transport.tcp.TcpTransportServer;
v = v.<org.apache.activemq.transport.tcp.TcpTransportServer: java.util.concurrent.atomic.AtomicInteger currentTransportCount>;
return v;
}
public void started(org.apache.activemq.Service)
{
org.apache.activemq.Service v;
org.apache.activemq.transport.tcp.TcpTransportServer v;
v := @this: org.apache.activemq.transport.tcp.TcpTransportServer;
v := @parameter: org.apache.activemq.Service;
return;
}
public void stopped(org.apache.activemq.Service)
{
org.apache.activemq.Service v;
java.util.concurrent.atomic.AtomicInteger v;
org.apache.activemq.transport.tcp.TcpTransportServer v;
v := @this: org.apache.activemq.transport.tcp.TcpTransportServer;
v := @parameter: org.apache.activemq.Service;
v = v.<org.apache.activemq.transport.tcp.TcpTransportServer: java.util.concurrent.atomic.AtomicInteger currentTransportCount>;
virtualinvoke v.<java.util.concurrent.atomic.AtomicInteger: int decrementAndGet()>();
return;
}
public boolean isSslServer()
{
org.apache.activemq.transport.tcp.TcpTransportServer v;
v := @this: org.apache.activemq.transport.tcp.TcpTransportServer;
return 0;
}
public boolean isAllowLinkStealing()
{
org.apache.activemq.transport.tcp.TcpTransportServer v;
boolean v;
v := @this: org.apache.activemq.transport.tcp.TcpTransportServer;
v = v.<org.apache.activemq.transport.tcp.TcpTransportServer: boolean allowLinkStealing>;
return v;
}
public void setAllowLinkStealing(boolean)
{
org.apache.activemq.transport.tcp.TcpTransportServer v;
boolean v;
v := @this: org.apache.activemq.transport.tcp.TcpTransportServer;
v := @parameter: boolean;
v.<org.apache.activemq.transport.tcp.TcpTransportServer: boolean allowLinkStealing> = v;
return;
}
static void <clinit>()
{
org.slf4j.Logger v;
v = staticinvoke <org.slf4j.LoggerFactory: org.slf4j.Logger getLogger(java.lang.Class)>(class "Lorg/apache/activemq/transport/tcp/TcpTransportServer;");
<org.apache.activemq.transport.tcp.TcpTransportServer: org.slf4j.Logger LOG> = v;
return;
}
}