public class org.apache.activemq.transport.udp.UdpTransport extends org.apache.activemq.transport.TransportThreadSupport implements org.apache.activemq.transport.Transport, org.apache.activemq.Service, java.lang.Runnable
{
private static final org.slf4j.Logger LOG;
private static final int MAX_BIND_ATTEMPTS;
private static final long BIND_ATTEMPT_DELAY;
private org.apache.activemq.transport.udp.CommandChannel commandChannel;
private org.apache.activemq.openwire.OpenWireFormat wireFormat;
private org.apache.activemq.transport.udp.ByteBufferPool bufferPool;
private org.apache.activemq.transport.reliable.ReplayStrategy replayStrategy;
private org.apache.activemq.transport.reliable.ReplayBuffer replayBuffer;
private int datagramSize;
private java.net.SocketAddress targetAddress;
private java.net.SocketAddress originalTargetAddress;
private java.nio.channels.DatagramChannel channel;
private boolean trace;
private boolean useLocalHost;
private int port;
private int minmumWireFormatVersion;
private java.lang.String description;
private org.apache.activemq.util.IntSequenceGenerator sequenceGenerator;
private boolean replayEnabled;
protected void <init>(org.apache.activemq.openwire.OpenWireFormat) throws java.io.IOException
{
org.apache.activemq.openwire.OpenWireFormat v;
org.apache.activemq.transport.reliable.ExceptionIfDroppedReplayStrategy v;
org.apache.activemq.transport.udp.UdpTransport v;
v := @this: org.apache.activemq.transport.udp.UdpTransport;
v := @parameter: org.apache.activemq.openwire.OpenWireFormat;
specialinvoke v.<org.apache.activemq.transport.TransportThreadSupport: void <init>()>();
v = new org.apache.activemq.transport.reliable.ExceptionIfDroppedReplayStrategy;
specialinvoke v.<org.apache.activemq.transport.reliable.ExceptionIfDroppedReplayStrategy: void <init>()>();
v.<org.apache.activemq.transport.udp.UdpTransport: org.apache.activemq.transport.reliable.ReplayStrategy replayStrategy> = v;
v.<org.apache.activemq.transport.udp.UdpTransport: int datagramSize> = 4096;
v.<org.apache.activemq.transport.udp.UdpTransport: boolean useLocalHost> = 0;
v.<org.apache.activemq.transport.udp.UdpTransport: boolean replayEnabled> = 1;
v.<org.apache.activemq.transport.udp.UdpTransport: org.apache.activemq.openwire.OpenWireFormat wireFormat> = v;
return;
}
public void <init>(org.apache.activemq.openwire.OpenWireFormat, java.net.URI) throws java.net.UnknownHostException, java.io.IOException
{
org.apache.activemq.openwire.OpenWireFormat v;
java.lang.String v, v;
java.net.URI v;
java.net.InetSocketAddress v;
org.apache.activemq.transport.udp.UdpTransport v;
v := @this: org.apache.activemq.transport.udp.UdpTransport;
v := @parameter: org.apache.activemq.openwire.OpenWireFormat;
v := @parameter: java.net.URI;
specialinvoke v.<org.apache.activemq.transport.udp.UdpTransport: void <init>(org.apache.activemq.openwire.OpenWireFormat)>(v);
v = virtualinvoke v.<org.apache.activemq.transport.udp.UdpTransport: java.net.InetSocketAddress createAddress(java.net.URI)>(v);
v.<org.apache.activemq.transport.udp.UdpTransport: java.net.SocketAddress targetAddress> = v;
v = virtualinvoke v.<java.net.URI: 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[])>("\u0001@");
v.<org.apache.activemq.transport.udp.UdpTransport: java.lang.String description> = v;
return;
}
public void <init>(org.apache.activemq.openwire.OpenWireFormat, java.net.SocketAddress) throws java.io.IOException
{
org.apache.activemq.openwire.OpenWireFormat v;
java.net.SocketAddress v;
java.lang.String v, v;
org.apache.activemq.transport.udp.UdpTransport v;
v := @this: org.apache.activemq.transport.udp.UdpTransport;
v := @parameter: org.apache.activemq.openwire.OpenWireFormat;
v := @parameter: java.net.SocketAddress;
specialinvoke v.<org.apache.activemq.transport.udp.UdpTransport: void <init>(org.apache.activemq.openwire.OpenWireFormat)>(v);
v.<org.apache.activemq.transport.udp.UdpTransport: java.net.SocketAddress targetAddress> = v;
v = virtualinvoke v.<org.apache.activemq.transport.udp.UdpTransport: java.lang.String getProtocolName()>();
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[])>("\u0001ServerConnection@");
v.<org.apache.activemq.transport.udp.UdpTransport: java.lang.String description> = v;
return;
}
public void <init>(org.apache.activemq.openwire.OpenWireFormat, int) throws java.net.UnknownHostException, java.io.IOException
{
org.apache.activemq.openwire.OpenWireFormat v;
int v;
java.lang.String v, v;
org.apache.activemq.transport.udp.UdpTransport v;
v := @this: org.apache.activemq.transport.udp.UdpTransport;
v := @parameter: org.apache.activemq.openwire.OpenWireFormat;
v := @parameter: int;
specialinvoke v.<org.apache.activemq.transport.udp.UdpTransport: void <init>(org.apache.activemq.openwire.OpenWireFormat)>(v);
v.<org.apache.activemq.transport.udp.UdpTransport: int port> = v;
v.<org.apache.activemq.transport.udp.UdpTransport: java.net.SocketAddress targetAddress> = null;
v = virtualinvoke v.<org.apache.activemq.transport.udp.UdpTransport: java.lang.String getProtocolName()>();
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[])>("\u0001Server@");
v.<org.apache.activemq.transport.udp.UdpTransport: java.lang.String description> = v;
return;
}
public org.apache.activemq.transport.reliable.Replayer createReplayer() throws java.io.IOException
{
org.apache.activemq.transport.udp.CommandChannel v;
org.apache.activemq.transport.udp.UdpTransport v;
boolean v;
v := @this: org.apache.activemq.transport.udp.UdpTransport;
v = v.<org.apache.activemq.transport.udp.UdpTransport: boolean replayEnabled>;
if v == 0 goto label;
v = virtualinvoke v.<org.apache.activemq.transport.udp.UdpTransport: org.apache.activemq.transport.udp.CommandChannel getCommandChannel()>();
return v;
label:
return null;
}
public void oneway(java.lang.Object) throws java.io.IOException
{
java.lang.Object v;
java.net.SocketAddress v;
org.apache.activemq.transport.udp.UdpTransport v;
v := @this: org.apache.activemq.transport.udp.UdpTransport;
v := @parameter: java.lang.Object;
v = v.<org.apache.activemq.transport.udp.UdpTransport: java.net.SocketAddress targetAddress>;
virtualinvoke v.<org.apache.activemq.transport.udp.UdpTransport: void oneway(java.lang.Object,java.net.SocketAddress)>(v, v);
return;
}
public void oneway(java.lang.Object, java.net.SocketAddress) throws java.io.IOException
{
org.slf4j.Logger v, v;
java.net.SocketAddress v, v;
org.apache.activemq.transport.udp.CommandChannel v;
java.lang.Object v;
java.lang.String v;
org.apache.activemq.transport.udp.UdpTransport v;
boolean v;
v := @this: org.apache.activemq.transport.udp.UdpTransport;
v := @parameter: java.lang.Object;
v := @parameter: java.net.SocketAddress;
v = <org.apache.activemq.transport.udp.UdpTransport: org.slf4j.Logger LOG>;
v = interfaceinvoke v.<org.slf4j.Logger: boolean isDebugEnabled()>();
if v == 0 goto label;
v = <org.apache.activemq.transport.udp.UdpTransport: org.slf4j.Logger LOG>;
v = v.<org.apache.activemq.transport.udp.UdpTransport: java.net.SocketAddress targetAddress>;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (org.apache.activemq.transport.udp.UdpTransport,java.net.SocketAddress,java.lang.Object)>(v, v, v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("Sending oneway from: \u to target: \u command: \u0001");
interfaceinvoke v.<org.slf4j.Logger: void debug(java.lang.String)>(v);
label:
virtualinvoke v.<org.apache.activemq.transport.udp.UdpTransport: void checkStarted()>();
v = v.<org.apache.activemq.transport.udp.UdpTransport: org.apache.activemq.transport.udp.CommandChannel commandChannel>;
interfaceinvoke v.<org.apache.activemq.transport.udp.CommandChannel: void write(org.apache.activemq.command.Command,java.net.SocketAddress)>(v, v);
return;
}
public java.lang.String toString()
{
java.net.SocketAddress v;
int v, v;
java.lang.String v, v, v, v, v;
org.apache.activemq.transport.udp.UdpTransport v;
v := @this: org.apache.activemq.transport.udp.UdpTransport;
v = v.<org.apache.activemq.transport.udp.UdpTransport: java.lang.String description>;
if v == null goto label;
v = v.<org.apache.activemq.transport.udp.UdpTransport: java.lang.String description>;
v = v.<org.apache.activemq.transport.udp.UdpTransport: int port>;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String,int)>(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;
label:
v = virtualinvoke v.<org.apache.activemq.transport.udp.UdpTransport: java.lang.String getProtocolUriScheme()>();
v = v.<org.apache.activemq.transport.udp.UdpTransport: java.net.SocketAddress targetAddress>;
v = v.<org.apache.activemq.transport.udp.UdpTransport: int port>;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String,java.net.SocketAddress,int)>(v, v, v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("\u0001\u0001@\u0001");
return v;
}
public void run()
{
java.nio.channels.AsynchronousCloseException v;
java.net.SocketException v;
java.lang.String v, v, v, v, v, v, v, v, v;
org.apache.activemq.transport.udp.UdpTransport v;
boolean v, v;
org.slf4j.Logger v, v, v, v, v, v, v, v;
org.apache.activemq.command.Command v;
java.io.EOFException v;
java.lang.Exception v, v, v, v, v;
org.apache.activemq.transport.udp.CommandChannel v;
v := @this: org.apache.activemq.transport.udp.UdpTransport;
v = <org.apache.activemq.transport.udp.UdpTransport: org.slf4j.Logger LOG>;
v = virtualinvoke v.<org.apache.activemq.transport.udp.UdpTransport: 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[])>("Consumer thread starting for: \u0001");
interfaceinvoke v.<org.slf4j.Logger: void trace(java.lang.String)>(v);
label:
v = virtualinvoke v.<org.apache.activemq.transport.udp.UdpTransport: boolean isStopped()>();
if v != 0 goto label;
label:
v = v.<org.apache.activemq.transport.udp.UdpTransport: org.apache.activemq.transport.udp.CommandChannel commandChannel>;
v = interfaceinvoke v.<org.apache.activemq.transport.udp.CommandChannel: org.apache.activemq.command.Command read()>();
virtualinvoke v.<org.apache.activemq.transport.udp.UdpTransport: void doConsume(java.lang.Object)>(v);
label:
goto label;
label:
v := @caughtexception;
label:
virtualinvoke v.<org.apache.activemq.transport.udp.UdpTransport: void stop()>();
label:
goto label;
label:
v := @caughtexception;
v = <org.apache.activemq.transport.udp.UdpTransport: org.slf4j.Logger LOG>;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (org.apache.activemq.transport.udp.UdpTransport,java.lang.Exception)>(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[])>("Caught in: \u while closing: \u. Now Closed");
interfaceinvoke v.<org.slf4j.Logger: void warn(java.lang.String,java.lang.Throwable)>(v, v);
goto label;
label:
v := @caughtexception;
v = <org.apache.activemq.transport.udp.UdpTransport: org.slf4j.Logger LOG>;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.net.SocketException)>(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[])>("Socket closed: \u0001");
interfaceinvoke v.<org.slf4j.Logger: void debug(java.lang.String,java.lang.Throwable)>(v, v);
label:
virtualinvoke v.<org.apache.activemq.transport.udp.UdpTransport: void stop()>();
label:
goto label;
label:
v := @caughtexception;
v = <org.apache.activemq.transport.udp.UdpTransport: org.slf4j.Logger LOG>;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (org.apache.activemq.transport.udp.UdpTransport,java.lang.Exception)>(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[])>("Caught in: \u while closing: \u. Now Closed");
interfaceinvoke v.<org.slf4j.Logger: void warn(java.lang.String,java.lang.Throwable)>(v, v);
goto label;
label:
v := @caughtexception;
v = <org.apache.activemq.transport.udp.UdpTransport: org.slf4j.Logger LOG>;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.io.EOFException)>(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[])>("Socket closed: \u0001");
interfaceinvoke v.<org.slf4j.Logger: void debug(java.lang.String,java.lang.Throwable)>(v, v);
label:
virtualinvoke v.<org.apache.activemq.transport.udp.UdpTransport: void stop()>();
label:
goto label;
label:
v := @caughtexception;
v = <org.apache.activemq.transport.udp.UdpTransport: org.slf4j.Logger LOG>;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (org.apache.activemq.transport.udp.UdpTransport,java.lang.Exception)>(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[])>("Caught in: \u while closing: \u. Now Closed");
interfaceinvoke v.<org.slf4j.Logger: void warn(java.lang.String,java.lang.Throwable)>(v, v);
goto label;
label:
v := @caughtexception;
label:
virtualinvoke v.<org.apache.activemq.transport.udp.UdpTransport: void stop()>();
label:
goto label;
label:
v := @caughtexception;
v = <org.apache.activemq.transport.udp.UdpTransport: org.slf4j.Logger LOG>;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (org.apache.activemq.transport.udp.UdpTransport,java.lang.Exception)>(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[])>("Caught in: \u while closing: \u. Now Closed");
interfaceinvoke v.<org.slf4j.Logger: void warn(java.lang.String,java.lang.Throwable)>(v, v);
label:
v = v instanceof java.io.IOException;
if v == 0 goto label;
virtualinvoke v.<org.apache.activemq.transport.udp.UdpTransport: void onException(java.io.IOException)>(v);
goto label;
label:
v = <org.apache.activemq.transport.udp.UdpTransport: org.slf4j.Logger LOG>;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.Exception)>(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[])>("Caught: \u0001");
interfaceinvoke v.<org.slf4j.Logger: void error(java.lang.String,java.lang.Throwable)>(v, v);
virtualinvoke v.<java.lang.Exception: void printStackTrace()>();
goto label;
label:
return;
catch java.nio.channels.AsynchronousCloseException from label to label with label;
catch java.lang.Exception from label to label with label;
catch java.net.SocketException from label to label with label;
catch java.lang.Exception from label to label with label;
catch java.io.EOFException 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;
catch java.lang.Exception from label to label with label;
}
public void setTargetEndpoint(org.apache.activemq.command.Endpoint)
{
org.apache.activemq.transport.udp.CommandChannel v;
java.net.SocketAddress v, v, v;
org.apache.activemq.command.Endpoint v;
org.apache.activemq.transport.udp.UdpTransport v;
boolean v;
v := @this: org.apache.activemq.transport.udp.UdpTransport;
v := @parameter: org.apache.activemq.command.Endpoint;
v = v instanceof org.apache.activemq.transport.udp.DatagramEndpoint;
if v == 0 goto label;
v = virtualinvoke v.<org.apache.activemq.transport.udp.DatagramEndpoint: java.net.SocketAddress getAddress()>();
if v == null goto label;
v = v.<org.apache.activemq.transport.udp.UdpTransport: java.net.SocketAddress originalTargetAddress>;
if v != null goto label;
v = v.<org.apache.activemq.transport.udp.UdpTransport: java.net.SocketAddress targetAddress>;
v.<org.apache.activemq.transport.udp.UdpTransport: java.net.SocketAddress originalTargetAddress> = v;
label:
v.<org.apache.activemq.transport.udp.UdpTransport: java.net.SocketAddress targetAddress> = v;
v = v.<org.apache.activemq.transport.udp.UdpTransport: org.apache.activemq.transport.udp.CommandChannel commandChannel>;
interfaceinvoke v.<org.apache.activemq.transport.udp.CommandChannel: void setTargetAddress(java.net.SocketAddress)>(v);
label:
return;
}
public boolean isTrace()
{
org.apache.activemq.transport.udp.UdpTransport v;
boolean v;
v := @this: org.apache.activemq.transport.udp.UdpTransport;
v = v.<org.apache.activemq.transport.udp.UdpTransport: boolean trace>;
return v;
}
public void setTrace(boolean)
{
org.apache.activemq.transport.udp.UdpTransport v;
boolean v;
v := @this: org.apache.activemq.transport.udp.UdpTransport;
v := @parameter: boolean;
v.<org.apache.activemq.transport.udp.UdpTransport: boolean trace> = v;
return;
}
public int getDatagramSize()
{
int v;
org.apache.activemq.transport.udp.UdpTransport v;
v := @this: org.apache.activemq.transport.udp.UdpTransport;
v = v.<org.apache.activemq.transport.udp.UdpTransport: int datagramSize>;
return v;
}
public void setDatagramSize(int)
{
int v;
org.apache.activemq.transport.udp.UdpTransport v;
v := @this: org.apache.activemq.transport.udp.UdpTransport;
v := @parameter: int;
v.<org.apache.activemq.transport.udp.UdpTransport: int datagramSize> = v;
return;
}
public boolean isUseLocalHost()
{
org.apache.activemq.transport.udp.UdpTransport v;
boolean v;
v := @this: org.apache.activemq.transport.udp.UdpTransport;
v = v.<org.apache.activemq.transport.udp.UdpTransport: boolean useLocalHost>;
return v;
}
public void setUseLocalHost(boolean)
{
org.apache.activemq.transport.udp.UdpTransport v;
boolean v;
v := @this: org.apache.activemq.transport.udp.UdpTransport;
v := @parameter: boolean;
v.<org.apache.activemq.transport.udp.UdpTransport: boolean useLocalHost> = v;
return;
}
public org.apache.activemq.transport.udp.CommandChannel getCommandChannel() throws java.io.IOException
{
org.apache.activemq.transport.udp.CommandChannel v, v, v;
org.apache.activemq.transport.udp.UdpTransport v;
v := @this: org.apache.activemq.transport.udp.UdpTransport;
v = v.<org.apache.activemq.transport.udp.UdpTransport: org.apache.activemq.transport.udp.CommandChannel commandChannel>;
if v != null goto label;
v = virtualinvoke v.<org.apache.activemq.transport.udp.UdpTransport: org.apache.activemq.transport.udp.CommandChannel createCommandChannel()>();
v.<org.apache.activemq.transport.udp.UdpTransport: org.apache.activemq.transport.udp.CommandChannel commandChannel> = v;
label:
v = v.<org.apache.activemq.transport.udp.UdpTransport: org.apache.activemq.transport.udp.CommandChannel commandChannel>;
return v;
}
public void setCommandChannel(org.apache.activemq.transport.udp.CommandDatagramChannel)
{
org.apache.activemq.transport.udp.CommandDatagramChannel v;
org.apache.activemq.transport.udp.UdpTransport v;
v := @this: org.apache.activemq.transport.udp.UdpTransport;
v := @parameter: org.apache.activemq.transport.udp.CommandDatagramChannel;
v.<org.apache.activemq.transport.udp.UdpTransport: org.apache.activemq.transport.udp.CommandChannel commandChannel> = v;
return;
}
public org.apache.activemq.transport.reliable.ReplayStrategy getReplayStrategy()
{
org.apache.activemq.transport.reliable.ReplayStrategy v;
org.apache.activemq.transport.udp.UdpTransport v;
v := @this: org.apache.activemq.transport.udp.UdpTransport;
v = v.<org.apache.activemq.transport.udp.UdpTransport: org.apache.activemq.transport.reliable.ReplayStrategy replayStrategy>;
return v;
}
public void setReplayStrategy(org.apache.activemq.transport.reliable.ReplayStrategy)
{
org.apache.activemq.transport.reliable.ReplayStrategy v;
org.apache.activemq.transport.udp.UdpTransport v;
v := @this: org.apache.activemq.transport.udp.UdpTransport;
v := @parameter: org.apache.activemq.transport.reliable.ReplayStrategy;
v.<org.apache.activemq.transport.udp.UdpTransport: org.apache.activemq.transport.reliable.ReplayStrategy replayStrategy> = v;
return;
}
public int getPort()
{
int v;
org.apache.activemq.transport.udp.UdpTransport v;
v := @this: org.apache.activemq.transport.udp.UdpTransport;
v = v.<org.apache.activemq.transport.udp.UdpTransport: int port>;
return v;
}
public void setPort(int)
{
int v;
org.apache.activemq.transport.udp.UdpTransport v;
v := @this: org.apache.activemq.transport.udp.UdpTransport;
v := @parameter: int;
v.<org.apache.activemq.transport.udp.UdpTransport: int port> = v;
return;
}
public int getMinmumWireFormatVersion()
{
int v;
org.apache.activemq.transport.udp.UdpTransport v;
v := @this: org.apache.activemq.transport.udp.UdpTransport;
v = v.<org.apache.activemq.transport.udp.UdpTransport: int minmumWireFormatVersion>;
return v;
}
public void setMinmumWireFormatVersion(int)
{
int v;
org.apache.activemq.transport.udp.UdpTransport v;
v := @this: org.apache.activemq.transport.udp.UdpTransport;
v := @parameter: int;
v.<org.apache.activemq.transport.udp.UdpTransport: int minmumWireFormatVersion> = v;
return;
}
public org.apache.activemq.openwire.OpenWireFormat getWireFormat()
{
org.apache.activemq.openwire.OpenWireFormat v;
org.apache.activemq.transport.udp.UdpTransport v;
v := @this: org.apache.activemq.transport.udp.UdpTransport;
v = v.<org.apache.activemq.transport.udp.UdpTransport: org.apache.activemq.openwire.OpenWireFormat wireFormat>;
return v;
}
public org.apache.activemq.util.IntSequenceGenerator getSequenceGenerator()
{
org.apache.activemq.util.IntSequenceGenerator v, v, v;
org.apache.activemq.transport.udp.UdpTransport v;
v := @this: org.apache.activemq.transport.udp.UdpTransport;
v = v.<org.apache.activemq.transport.udp.UdpTransport: org.apache.activemq.util.IntSequenceGenerator sequenceGenerator>;
if v != null goto label;
v = new org.apache.activemq.util.IntSequenceGenerator;
specialinvoke v.<org.apache.activemq.util.IntSequenceGenerator: void <init>()>();
v.<org.apache.activemq.transport.udp.UdpTransport: org.apache.activemq.util.IntSequenceGenerator sequenceGenerator> = v;
label:
v = v.<org.apache.activemq.transport.udp.UdpTransport: org.apache.activemq.util.IntSequenceGenerator sequenceGenerator>;
return v;
}
public void setSequenceGenerator(org.apache.activemq.util.IntSequenceGenerator)
{
org.apache.activemq.util.IntSequenceGenerator v;
org.apache.activemq.transport.udp.UdpTransport v;
v := @this: org.apache.activemq.transport.udp.UdpTransport;
v := @parameter: org.apache.activemq.util.IntSequenceGenerator;
v.<org.apache.activemq.transport.udp.UdpTransport: org.apache.activemq.util.IntSequenceGenerator sequenceGenerator> = v;
return;
}
public boolean isReplayEnabled()
{
org.apache.activemq.transport.udp.UdpTransport v;
boolean v;
v := @this: org.apache.activemq.transport.udp.UdpTransport;
v = v.<org.apache.activemq.transport.udp.UdpTransport: boolean replayEnabled>;
return v;
}
public void setReplayEnabled(boolean)
{
org.apache.activemq.transport.udp.UdpTransport v;
boolean v;
v := @this: org.apache.activemq.transport.udp.UdpTransport;
v := @parameter: boolean;
v.<org.apache.activemq.transport.udp.UdpTransport: boolean replayEnabled> = v;
return;
}
public org.apache.activemq.transport.udp.ByteBufferPool getBufferPool()
{
org.apache.activemq.transport.udp.DefaultBufferPool v;
org.apache.activemq.transport.udp.ByteBufferPool v, v;
org.apache.activemq.transport.udp.UdpTransport v;
v := @this: org.apache.activemq.transport.udp.UdpTransport;
v = v.<org.apache.activemq.transport.udp.UdpTransport: org.apache.activemq.transport.udp.ByteBufferPool bufferPool>;
if v != null goto label;
v = new org.apache.activemq.transport.udp.DefaultBufferPool;
specialinvoke v.<org.apache.activemq.transport.udp.DefaultBufferPool: void <init>()>();
v.<org.apache.activemq.transport.udp.UdpTransport: org.apache.activemq.transport.udp.ByteBufferPool bufferPool> = v;
label:
v = v.<org.apache.activemq.transport.udp.UdpTransport: org.apache.activemq.transport.udp.ByteBufferPool bufferPool>;
return v;
}
public void setBufferPool(org.apache.activemq.transport.udp.ByteBufferPool)
{
org.apache.activemq.transport.udp.ByteBufferPool v;
org.apache.activemq.transport.udp.UdpTransport v;
v := @this: org.apache.activemq.transport.udp.UdpTransport;
v := @parameter: org.apache.activemq.transport.udp.ByteBufferPool;
v.<org.apache.activemq.transport.udp.UdpTransport: org.apache.activemq.transport.udp.ByteBufferPool bufferPool> = v;
return;
}
public org.apache.activemq.transport.reliable.ReplayBuffer getReplayBuffer()
{
org.apache.activemq.transport.reliable.ReplayBuffer v;
org.apache.activemq.transport.udp.UdpTransport v;
v := @this: org.apache.activemq.transport.udp.UdpTransport;
v = v.<org.apache.activemq.transport.udp.UdpTransport: org.apache.activemq.transport.reliable.ReplayBuffer replayBuffer>;
return v;
}
public void setReplayBuffer(org.apache.activemq.transport.reliable.ReplayBuffer) throws java.io.IOException
{
org.apache.activemq.transport.udp.CommandChannel v;
org.apache.activemq.transport.reliable.ReplayBuffer v;
org.apache.activemq.transport.udp.UdpTransport v;
v := @this: org.apache.activemq.transport.udp.UdpTransport;
v := @parameter: org.apache.activemq.transport.reliable.ReplayBuffer;
v.<org.apache.activemq.transport.udp.UdpTransport: org.apache.activemq.transport.reliable.ReplayBuffer replayBuffer> = v;
v = virtualinvoke v.<org.apache.activemq.transport.udp.UdpTransport: org.apache.activemq.transport.udp.CommandChannel getCommandChannel()>();
interfaceinvoke v.<org.apache.activemq.transport.udp.CommandChannel: void setReplayBuffer(org.apache.activemq.transport.reliable.ReplayBuffer)>(v);
return;
}
protected java.net.InetSocketAddress createAddress(java.net.URI) throws java.net.UnknownHostException, java.io.IOException
{
int v;
java.lang.String v, v;
java.net.URI v;
java.net.InetSocketAddress v;
org.apache.activemq.transport.udp.UdpTransport v;
v := @this: org.apache.activemq.transport.udp.UdpTransport;
v := @parameter: java.net.URI;
v = virtualinvoke v.<java.net.URI: java.lang.String getHost()>();
v = virtualinvoke v.<org.apache.activemq.transport.udp.UdpTransport: java.lang.String resolveHostName(java.lang.String)>(v);
v = new java.net.InetSocketAddress;
v = virtualinvoke v.<java.net.URI: int getPort()>();
specialinvoke v.<java.net.InetSocketAddress: void <init>(java.lang.String,int)>(v, v);
return v;
}
protected java.lang.String resolveHostName(java.lang.String) throws java.net.UnknownHostException
{
java.lang.String v, v;
org.apache.activemq.transport.udp.UdpTransport v;
boolean v, v;
v := @this: org.apache.activemq.transport.udp.UdpTransport;
v := @parameter: java.lang.String;
v = staticinvoke <org.apache.activemq.util.InetAddressUtil: java.lang.String getLocalHostName()>();
if v == null goto label;
v = virtualinvoke v.<org.apache.activemq.transport.udp.UdpTransport: boolean isUseLocalHost()>();
if v == 0 goto label;
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>(v);
if v == 0 goto label;
return "localhost";
label:
return v;
}
protected void doStart() throws java.lang.Exception
{
org.apache.activemq.transport.udp.CommandChannel v;
org.apache.activemq.transport.udp.UdpTransport v;
v := @this: org.apache.activemq.transport.udp.UdpTransport;
v = virtualinvoke v.<org.apache.activemq.transport.udp.UdpTransport: org.apache.activemq.transport.udp.CommandChannel getCommandChannel()>();
interfaceinvoke v.<org.apache.activemq.transport.udp.CommandChannel: void start()>();
specialinvoke v.<org.apache.activemq.transport.TransportThreadSupport: void doStart()>();
return;
}
protected org.apache.activemq.transport.udp.CommandChannel createCommandChannel() throws java.io.IOException
{
java.net.SocketAddress v, v;
java.nio.channels.DatagramChannel v, v, v, v;
java.net.DatagramSocket v;
org.apache.activemq.transport.udp.CommandChannel v;
int v, v;
org.apache.activemq.transport.udp.UdpTransport v;
v := @this: org.apache.activemq.transport.udp.UdpTransport;
v = virtualinvoke v.<org.apache.activemq.transport.udp.UdpTransport: java.net.SocketAddress createLocalAddress()>();
v = staticinvoke <java.nio.channels.DatagramChannel: java.nio.channels.DatagramChannel open()>();
v.<org.apache.activemq.transport.udp.UdpTransport: java.nio.channels.DatagramChannel channel> = v;
v = v.<org.apache.activemq.transport.udp.UdpTransport: java.nio.channels.DatagramChannel channel>;
v = v.<org.apache.activemq.transport.udp.UdpTransport: java.net.SocketAddress targetAddress>;
v = virtualinvoke v.<org.apache.activemq.transport.udp.UdpTransport: java.nio.channels.DatagramChannel connect(java.nio.channels.DatagramChannel,java.net.SocketAddress)>(v, v);
v.<org.apache.activemq.transport.udp.UdpTransport: java.nio.channels.DatagramChannel channel> = v;
v = v.<org.apache.activemq.transport.udp.UdpTransport: java.nio.channels.DatagramChannel channel>;
v = virtualinvoke v.<java.nio.channels.DatagramChannel: java.net.DatagramSocket socket()>();
virtualinvoke v.<org.apache.activemq.transport.udp.UdpTransport: void bind(java.net.DatagramSocket,java.net.SocketAddress)>(v, v);
v = v.<org.apache.activemq.transport.udp.UdpTransport: int port>;
if v != 0 goto label;
v = virtualinvoke v.<java.net.DatagramSocket: int getLocalPort()>();
v.<org.apache.activemq.transport.udp.UdpTransport: int port> = v;
label:
v = virtualinvoke v.<org.apache.activemq.transport.udp.UdpTransport: org.apache.activemq.transport.udp.CommandChannel createCommandDatagramChannel()>();
return v;
}
protected org.apache.activemq.transport.udp.CommandChannel createCommandDatagramChannel()
{
java.net.SocketAddress v;
java.nio.channels.DatagramChannel v;
org.apache.activemq.transport.udp.DatagramHeaderMarshaller v;
org.apache.activemq.openwire.OpenWireFormat v;
int v;
org.apache.activemq.transport.udp.CommandDatagramChannel v;
org.apache.activemq.transport.udp.ByteBufferPool v;
org.apache.activemq.transport.udp.UdpTransport v;
v := @this: org.apache.activemq.transport.udp.UdpTransport;
v = new org.apache.activemq.transport.udp.CommandDatagramChannel;
v = virtualinvoke v.<org.apache.activemq.transport.udp.UdpTransport: org.apache.activemq.openwire.OpenWireFormat getWireFormat()>();
v = virtualinvoke v.<org.apache.activemq.transport.udp.UdpTransport: int getDatagramSize()>();
v = virtualinvoke v.<org.apache.activemq.transport.udp.UdpTransport: java.net.SocketAddress getTargetAddress()>();
v = virtualinvoke v.<org.apache.activemq.transport.udp.UdpTransport: org.apache.activemq.transport.udp.DatagramHeaderMarshaller createDatagramHeaderMarshaller()>();
v = virtualinvoke v.<org.apache.activemq.transport.udp.UdpTransport: java.nio.channels.DatagramChannel getChannel()>();
v = virtualinvoke v.<org.apache.activemq.transport.udp.UdpTransport: org.apache.activemq.transport.udp.ByteBufferPool getBufferPool()>();
specialinvoke v.<org.apache.activemq.transport.udp.CommandDatagramChannel: void <init>(org.apache.activemq.transport.udp.UdpTransport,org.apache.activemq.openwire.OpenWireFormat,int,java.net.SocketAddress,org.apache.activemq.transport.udp.DatagramHeaderMarshaller,java.nio.channels.DatagramChannel,org.apache.activemq.transport.udp.ByteBufferPool)>(v, v, v, v, v, v, v);
return v;
}
protected void bind(java.net.DatagramSocket, java.net.SocketAddress) throws java.io.IOException
{
org.slf4j.Logger v, v;
java.net.SocketAddress v;
java.nio.channels.DatagramChannel v;
java.net.BindException v;
java.net.DatagramSocket v;
java.lang.InterruptedException v;
java.lang.Thread v;
int v, v;
java.lang.String v;
org.apache.activemq.transport.udp.UdpTransport v;
boolean v;
v := @this: org.apache.activemq.transport.udp.UdpTransport;
v := @parameter: java.net.DatagramSocket;
v := @parameter: java.net.SocketAddress;
v = v.<org.apache.activemq.transport.udp.UdpTransport: java.nio.channels.DatagramChannel channel>;
virtualinvoke v.<java.nio.channels.DatagramChannel: java.nio.channels.SelectableChannel configureBlocking(boolean)>(1);
v = <org.apache.activemq.transport.udp.UdpTransport: org.slf4j.Logger LOG>;
v = interfaceinvoke v.<org.slf4j.Logger: boolean isDebugEnabled()>();
if v == 0 goto label;
v = <org.apache.activemq.transport.udp.UdpTransport: org.slf4j.Logger LOG>;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.net.SocketAddress)>(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[])>("Binding to address: \u0001");
interfaceinvoke v.<org.slf4j.Logger: void debug(java.lang.String)>(v);
label:
v = 0;
label:
if v >= 50 goto label;
label:
virtualinvoke v.<java.net.DatagramSocket: void bind(java.net.SocketAddress)>(v);
label:
return;
label:
v := @caughtexception;
v = v + 1;
if v != 50 goto label;
throw v;
label:
staticinvoke <java.lang.Thread: void sleep(long)>(100L);
label:
goto label;
label:
v := @caughtexception;
v = staticinvoke <java.lang.Thread: java.lang.Thread currentThread()>();
virtualinvoke v.<java.lang.Thread: void interrupt()>();
throw v;
label:
v = v + 1;
goto label;
label:
return;
catch java.net.BindException from label to label with label;
catch java.lang.InterruptedException from label to label with label;
}
protected java.nio.channels.DatagramChannel connect(java.nio.channels.DatagramChannel, java.net.SocketAddress) throws java.io.IOException
{
java.net.SocketAddress v;
org.apache.activemq.transport.udp.UdpTransport v;
java.nio.channels.DatagramChannel v;
v := @this: org.apache.activemq.transport.udp.UdpTransport;
v := @parameter: java.nio.channels.DatagramChannel;
v := @parameter: java.net.SocketAddress;
return v;
}
protected java.net.SocketAddress createLocalAddress()
{
int v;
java.net.InetSocketAddress v;
org.apache.activemq.transport.udp.UdpTransport v;
v := @this: org.apache.activemq.transport.udp.UdpTransport;
v = new java.net.InetSocketAddress;
v = v.<org.apache.activemq.transport.udp.UdpTransport: int port>;
specialinvoke v.<java.net.InetSocketAddress: void <init>(int)>(v);
return v;
}
protected void doStop(org.apache.activemq.util.ServiceStopper) throws java.lang.Exception
{
java.nio.channels.DatagramChannel v, v;
org.apache.activemq.transport.udp.UdpTransport v;
org.apache.activemq.util.ServiceStopper v;
v := @this: org.apache.activemq.transport.udp.UdpTransport;
v := @parameter: org.apache.activemq.util.ServiceStopper;
v = v.<org.apache.activemq.transport.udp.UdpTransport: java.nio.channels.DatagramChannel channel>;
if v == null goto label;
v = v.<org.apache.activemq.transport.udp.UdpTransport: java.nio.channels.DatagramChannel channel>;
virtualinvoke v.<java.nio.channels.DatagramChannel: void close()>();
label:
return;
}
protected org.apache.activemq.transport.udp.DatagramHeaderMarshaller createDatagramHeaderMarshaller()
{
org.apache.activemq.transport.udp.UdpTransport v;
org.apache.activemq.transport.udp.DatagramHeaderMarshaller v;
v := @this: org.apache.activemq.transport.udp.UdpTransport;
v = new org.apache.activemq.transport.udp.DatagramHeaderMarshaller;
specialinvoke v.<org.apache.activemq.transport.udp.DatagramHeaderMarshaller: void <init>()>();
return v;
}
protected java.lang.String getProtocolName()
{
org.apache.activemq.transport.udp.UdpTransport v;
v := @this: org.apache.activemq.transport.udp.UdpTransport;
return "Udp";
}
protected java.lang.String getProtocolUriScheme()
{
org.apache.activemq.transport.udp.UdpTransport v;
v := @this: org.apache.activemq.transport.udp.UdpTransport;
return "udp://";
}
protected java.net.SocketAddress getTargetAddress()
{
java.net.SocketAddress v;
org.apache.activemq.transport.udp.UdpTransport v;
v := @this: org.apache.activemq.transport.udp.UdpTransport;
v = v.<org.apache.activemq.transport.udp.UdpTransport: java.net.SocketAddress targetAddress>;
return v;
}
protected java.nio.channels.DatagramChannel getChannel()
{
org.apache.activemq.transport.udp.UdpTransport v;
java.nio.channels.DatagramChannel v;
v := @this: org.apache.activemq.transport.udp.UdpTransport;
v = v.<org.apache.activemq.transport.udp.UdpTransport: java.nio.channels.DatagramChannel channel>;
return v;
}
protected void setChannel(java.nio.channels.DatagramChannel)
{
org.apache.activemq.transport.udp.UdpTransport v;
java.nio.channels.DatagramChannel v;
v := @this: org.apache.activemq.transport.udp.UdpTransport;
v := @parameter: java.nio.channels.DatagramChannel;
v.<org.apache.activemq.transport.udp.UdpTransport: java.nio.channels.DatagramChannel channel> = v;
return;
}
public java.net.InetSocketAddress getLocalSocketAddress()
{
java.net.DatagramSocket v;
java.net.SocketAddress v;
java.nio.channels.DatagramChannel v, v;
org.apache.activemq.transport.udp.UdpTransport v;
v := @this: org.apache.activemq.transport.udp.UdpTransport;
v = v.<org.apache.activemq.transport.udp.UdpTransport: java.nio.channels.DatagramChannel channel>;
if v != null goto label;
return null;
label:
v = v.<org.apache.activemq.transport.udp.UdpTransport: java.nio.channels.DatagramChannel channel>;
v = virtualinvoke v.<java.nio.channels.DatagramChannel: java.net.DatagramSocket socket()>();
v = virtualinvoke v.<java.net.DatagramSocket: java.net.SocketAddress getLocalSocketAddress()>();
return v;
}
public java.lang.String getRemoteAddress()
{
java.net.SocketAddress v, v;
java.lang.String v;
org.apache.activemq.transport.udp.UdpTransport v;
v := @this: org.apache.activemq.transport.udp.UdpTransport;
v = v.<org.apache.activemq.transport.udp.UdpTransport: java.net.SocketAddress targetAddress>;
if v == null goto label;
v = v.<org.apache.activemq.transport.udp.UdpTransport: java.net.SocketAddress targetAddress>;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.net.SocketAddress)>(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;
label:
return null;
}
public int getReceiveCounter()
{
org.apache.activemq.transport.udp.CommandChannel v, v;
int v;
org.apache.activemq.transport.udp.UdpTransport v;
v := @this: org.apache.activemq.transport.udp.UdpTransport;
v = v.<org.apache.activemq.transport.udp.UdpTransport: org.apache.activemq.transport.udp.CommandChannel commandChannel>;
if v != null goto label;
return 0;
label:
v = v.<org.apache.activemq.transport.udp.UdpTransport: org.apache.activemq.transport.udp.CommandChannel commandChannel>;
v = interfaceinvoke v.<org.apache.activemq.transport.udp.CommandChannel: int getReceiveCounter()>();
return v;
}
public java.security.cert.X509Certificate[] getPeerCertificates()
{
org.apache.activemq.transport.udp.UdpTransport v;
v := @this: org.apache.activemq.transport.udp.UdpTransport;
return null;
}
public void setPeerCertificates(java.security.cert.X509Certificate[])
{
java.security.cert.X509Certificate[] v;
org.apache.activemq.transport.udp.UdpTransport v;
v := @this: org.apache.activemq.transport.udp.UdpTransport;
v := @parameter: java.security.cert.X509Certificate[];
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/udp/UdpTransport;");
<org.apache.activemq.transport.udp.UdpTransport: org.slf4j.Logger LOG> = v;
return;
}
}