public class org.fusesource.hawtdispatch.transport.UdpTransport extends org.fusesource.hawtdispatch.transport.ServiceBase implements org.fusesource.hawtdispatch.transport.Transport
{
public static final java.net.SocketAddress ANY_ADDRESS;
protected java.net.URI remoteLocation;
protected java.net.URI localLocation;
protected org.fusesource.hawtdispatch.transport.TransportListener listener;
protected org.fusesource.hawtdispatch.transport.ProtocolCodec codec;
protected java.nio.channels.DatagramChannel channel;
protected org.fusesource.hawtdispatch.transport.UdpTransport$SocketState socketState;
protected org.fusesource.hawtdispatch.DispatchQueue dispatchQueue;
private org.fusesource.hawtdispatch.DispatchSource readSource;
private org.fusesource.hawtdispatch.DispatchSource writeSource;
protected org.fusesource.hawtdispatch.CustomDispatchSource drainOutboundSource;
protected org.fusesource.hawtdispatch.CustomDispatchSource yieldSource;
protected boolean useLocalHost;
int receiveBufferSize;
int sendBufferSize;
public static final int IPTOS_LOWCOST;
public static final int IPTOS_RELIABILITY;
public static final int IPTOS_THROUGHPUT;
public static final int IPTOS_LOWDELAY;
int trafficClass;
java.net.SocketAddress localAddress;
java.net.SocketAddress remoteAddress;
java.util.concurrent.Executor blockingExecutor;
private final org.fusesource.hawtdispatch.Task CANCEL_HANDLER;
org.fusesource.hawtdispatch.Task onDispose;
boolean rejectingOffers;
boolean writeResumedForCodecFlush;
public void <init>()
{
org.fusesource.hawtdispatch.transport.UdpTransport$2 v;
java.net.SocketAddress v;
org.fusesource.hawtdispatch.transport.UdpTransport$DISCONNECTED v;
org.fusesource.hawtdispatch.transport.UdpTransport v;
v := @this: org.fusesource.hawtdispatch.transport.UdpTransport;
specialinvoke v.<org.fusesource.hawtdispatch.transport.ServiceBase: void <init>()>();
v = new org.fusesource.hawtdispatch.transport.UdpTransport$DISCONNECTED;
specialinvoke v.<org.fusesource.hawtdispatch.transport.UdpTransport$DISCONNECTED: void <init>()>();
v.<org.fusesource.hawtdispatch.transport.UdpTransport: org.fusesource.hawtdispatch.transport.UdpTransport$SocketState socketState> = v;
v.<org.fusesource.hawtdispatch.transport.UdpTransport: boolean useLocalHost> = 1;
v.<org.fusesource.hawtdispatch.transport.UdpTransport: int receiveBufferSize> = 65536;
v.<org.fusesource.hawtdispatch.transport.UdpTransport: int sendBufferSize> = 65536;
v.<org.fusesource.hawtdispatch.transport.UdpTransport: int trafficClass> = 8;
v = <org.fusesource.hawtdispatch.transport.UdpTransport: java.net.SocketAddress ANY_ADDRESS>;
v.<org.fusesource.hawtdispatch.transport.UdpTransport: java.net.SocketAddress remoteAddress> = v;
v = new org.fusesource.hawtdispatch.transport.UdpTransport$2;
specialinvoke v.<org.fusesource.hawtdispatch.transport.UdpTransport$2: void <init>(org.fusesource.hawtdispatch.transport.UdpTransport)>(v);
v.<org.fusesource.hawtdispatch.transport.UdpTransport: org.fusesource.hawtdispatch.Task CANCEL_HANDLER> = v;
v.<org.fusesource.hawtdispatch.transport.UdpTransport: boolean writeResumedForCodecFlush> = 0;
return;
}
public void connected(java.nio.channels.DatagramChannel) throws java.io.IOException, java.lang.Exception
{
org.fusesource.hawtdispatch.transport.UdpTransport v;
org.fusesource.hawtdispatch.transport.UdpTransport$CONNECTED v;
java.nio.channels.DatagramChannel v;
v := @this: org.fusesource.hawtdispatch.transport.UdpTransport;
v := @parameter: java.nio.channels.DatagramChannel;
v.<org.fusesource.hawtdispatch.transport.UdpTransport: java.nio.channels.DatagramChannel channel> = v;
virtualinvoke v.<org.fusesource.hawtdispatch.transport.UdpTransport: void initializeChannel()>();
v = new org.fusesource.hawtdispatch.transport.UdpTransport$CONNECTED;
specialinvoke v.<org.fusesource.hawtdispatch.transport.UdpTransport$CONNECTED: void <init>(org.fusesource.hawtdispatch.transport.UdpTransport)>(v);
v.<org.fusesource.hawtdispatch.transport.UdpTransport: org.fusesource.hawtdispatch.transport.UdpTransport$SocketState socketState> = v;
return;
}
protected void initializeChannel() throws java.lang.Exception
{
java.nio.channels.DatagramChannel v, v, v;
java.net.DatagramSocket v;
java.net.SocketException v, v, v, v;
org.fusesource.hawtdispatch.transport.ProtocolCodec v;
int v, v, v;
org.fusesource.hawtdispatch.transport.UdpTransport v;
v := @this: org.fusesource.hawtdispatch.transport.UdpTransport;
v = v.<org.fusesource.hawtdispatch.transport.UdpTransport: java.nio.channels.DatagramChannel channel>;
virtualinvoke v.<java.nio.channels.DatagramChannel: java.nio.channels.SelectableChannel configureBlocking(boolean)>(0);
v = v.<org.fusesource.hawtdispatch.transport.UdpTransport: java.nio.channels.DatagramChannel channel>;
v = virtualinvoke v.<java.nio.channels.DatagramChannel: java.net.DatagramSocket socket()>();
label:
virtualinvoke v.<java.net.DatagramSocket: void setReuseAddress(boolean)>(1);
label:
goto label;
label:
v := @caughtexception;
label:
v = v.<org.fusesource.hawtdispatch.transport.UdpTransport: int trafficClass>;
virtualinvoke v.<java.net.DatagramSocket: void setTrafficClass(int)>(v);
label:
goto label;
label:
v := @caughtexception;
label:
v = v.<org.fusesource.hawtdispatch.transport.UdpTransport: int receiveBufferSize>;
virtualinvoke v.<java.net.DatagramSocket: void setReceiveBufferSize(int)>(v);
label:
goto label;
label:
v := @caughtexception;
label:
v = v.<org.fusesource.hawtdispatch.transport.UdpTransport: int sendBufferSize>;
virtualinvoke v.<java.net.DatagramSocket: void setSendBufferSize(int)>(v);
label:
goto label;
label:
v := @caughtexception;
label:
v = v.<org.fusesource.hawtdispatch.transport.UdpTransport: java.nio.channels.DatagramChannel channel>;
if v == null goto label;
v = v.<org.fusesource.hawtdispatch.transport.UdpTransport: org.fusesource.hawtdispatch.transport.ProtocolCodec codec>;
if v == null goto label;
virtualinvoke v.<org.fusesource.hawtdispatch.transport.UdpTransport: void initializeCodec()>();
label:
return;
catch java.net.SocketException from label to label with label;
catch java.net.SocketException from label to label with label;
catch java.net.SocketException from label to label with label;
catch java.net.SocketException from label to label with label;
}
protected void initializeCodec() throws java.lang.Exception
{
org.fusesource.hawtdispatch.transport.UdpTransport v;
org.fusesource.hawtdispatch.transport.ProtocolCodec v;
v := @this: org.fusesource.hawtdispatch.transport.UdpTransport;
v = v.<org.fusesource.hawtdispatch.transport.UdpTransport: org.fusesource.hawtdispatch.transport.ProtocolCodec codec>;
interfaceinvoke v.<org.fusesource.hawtdispatch.transport.ProtocolCodec: void setTransport(org.fusesource.hawtdispatch.transport.Transport)>(v);
return;
}
public void connecting(java.net.URI, java.net.URI) throws java.lang.Exception
{
java.nio.channels.DatagramChannel v;
org.fusesource.hawtdispatch.transport.UdpTransport$CONNECTING v;
java.net.URI v, v;
org.fusesource.hawtdispatch.transport.UdpTransport v;
v := @this: org.fusesource.hawtdispatch.transport.UdpTransport;
v := @parameter: java.net.URI;
v := @parameter: java.net.URI;
v = staticinvoke <java.nio.channels.DatagramChannel: java.nio.channels.DatagramChannel open()>();
v.<org.fusesource.hawtdispatch.transport.UdpTransport: java.nio.channels.DatagramChannel channel> = v;
virtualinvoke v.<org.fusesource.hawtdispatch.transport.UdpTransport: void initializeChannel()>();
v.<org.fusesource.hawtdispatch.transport.UdpTransport: java.net.URI remoteLocation> = v;
v.<org.fusesource.hawtdispatch.transport.UdpTransport: java.net.URI localLocation> = v;
v = new org.fusesource.hawtdispatch.transport.UdpTransport$CONNECTING;
specialinvoke v.<org.fusesource.hawtdispatch.transport.UdpTransport$CONNECTING: void <init>(org.fusesource.hawtdispatch.transport.UdpTransport)>(v);
v.<org.fusesource.hawtdispatch.transport.UdpTransport: org.fusesource.hawtdispatch.transport.UdpTransport$SocketState socketState> = v;
return;
}
public org.fusesource.hawtdispatch.DispatchQueue getDispatchQueue()
{
org.fusesource.hawtdispatch.DispatchQueue v;
org.fusesource.hawtdispatch.transport.UdpTransport v;
v := @this: org.fusesource.hawtdispatch.transport.UdpTransport;
v = v.<org.fusesource.hawtdispatch.transport.UdpTransport: org.fusesource.hawtdispatch.DispatchQueue dispatchQueue>;
return v;
}
public void setDispatchQueue(org.fusesource.hawtdispatch.DispatchQueue)
{
org.fusesource.hawtdispatch.DispatchQueue v;
org.fusesource.hawtdispatch.CustomDispatchSource v, v, v, v;
org.fusesource.hawtdispatch.transport.UdpTransport v;
org.fusesource.hawtdispatch.DispatchSource v, v, v, v;
v := @this: org.fusesource.hawtdispatch.transport.UdpTransport;
v := @parameter: org.fusesource.hawtdispatch.DispatchQueue;
v.<org.fusesource.hawtdispatch.transport.UdpTransport: org.fusesource.hawtdispatch.DispatchQueue dispatchQueue> = v;
v = v.<org.fusesource.hawtdispatch.transport.UdpTransport: org.fusesource.hawtdispatch.DispatchSource readSource>;
if v == null goto label;
v = v.<org.fusesource.hawtdispatch.transport.UdpTransport: org.fusesource.hawtdispatch.DispatchSource readSource>;
interfaceinvoke v.<org.fusesource.hawtdispatch.DispatchSource: void setTargetQueue(org.fusesource.hawtdispatch.DispatchQueue)>(v);
label:
v = v.<org.fusesource.hawtdispatch.transport.UdpTransport: org.fusesource.hawtdispatch.DispatchSource writeSource>;
if v == null goto label;
v = v.<org.fusesource.hawtdispatch.transport.UdpTransport: org.fusesource.hawtdispatch.DispatchSource writeSource>;
interfaceinvoke v.<org.fusesource.hawtdispatch.DispatchSource: void setTargetQueue(org.fusesource.hawtdispatch.DispatchQueue)>(v);
label:
v = v.<org.fusesource.hawtdispatch.transport.UdpTransport: org.fusesource.hawtdispatch.CustomDispatchSource drainOutboundSource>;
if v == null goto label;
v = v.<org.fusesource.hawtdispatch.transport.UdpTransport: org.fusesource.hawtdispatch.CustomDispatchSource drainOutboundSource>;
interfaceinvoke v.<org.fusesource.hawtdispatch.CustomDispatchSource: void setTargetQueue(org.fusesource.hawtdispatch.DispatchQueue)>(v);
label:
v = v.<org.fusesource.hawtdispatch.transport.UdpTransport: org.fusesource.hawtdispatch.CustomDispatchSource yieldSource>;
if v == null goto label;
v = v.<org.fusesource.hawtdispatch.transport.UdpTransport: org.fusesource.hawtdispatch.CustomDispatchSource yieldSource>;
interfaceinvoke v.<org.fusesource.hawtdispatch.CustomDispatchSource: void setTargetQueue(org.fusesource.hawtdispatch.DispatchQueue)>(v);
label:
return;
}
public void _start(org.fusesource.hawtdispatch.Task)
{
java.io.PrintStream v;
java.lang.Throwable v;
org.fusesource.hawtdispatch.transport.UdpTransport$3 v;
org.fusesource.hawtdispatch.transport.UdpTransport$4 v;
org.fusesource.hawtdispatch.Task v;
java.util.concurrent.Executor v;
org.fusesource.hawtdispatch.DispatchQueue v;
org.fusesource.hawtdispatch.transport.UdpTransport$SocketState v, v, v;
java.lang.String v;
org.fusesource.hawtdispatch.transport.UdpTransport v;
boolean v, v;
v := @this: org.fusesource.hawtdispatch.transport.UdpTransport;
v := @parameter: org.fusesource.hawtdispatch.Task;
label:
v = v.<org.fusesource.hawtdispatch.transport.UdpTransport: org.fusesource.hawtdispatch.transport.UdpTransport$SocketState socketState>;
v = virtualinvoke v.<org.fusesource.hawtdispatch.transport.UdpTransport$SocketState: boolean is(java.lang.Class)>(class "Lorg/fusesource/hawtdispatch/transport/UdpTransport$CONNECTING;");
if v == 0 goto label;
v = v.<org.fusesource.hawtdispatch.transport.UdpTransport: java.util.concurrent.Executor blockingExecutor>;
v = new org.fusesource.hawtdispatch.transport.UdpTransport$3;
specialinvoke v.<org.fusesource.hawtdispatch.transport.UdpTransport$3: void <init>(org.fusesource.hawtdispatch.transport.UdpTransport)>(v);
interfaceinvoke v.<java.util.concurrent.Executor: void execute(java.lang.Runnable)>(v);
goto label;
label:
v = v.<org.fusesource.hawtdispatch.transport.UdpTransport: org.fusesource.hawtdispatch.transport.UdpTransport$SocketState socketState>;
v = virtualinvoke v.<org.fusesource.hawtdispatch.transport.UdpTransport$SocketState: boolean is(java.lang.Class)>(class "Lorg/fusesource/hawtdispatch/transport/UdpTransport$CONNECTED;");
if v == 0 goto label;
v = v.<org.fusesource.hawtdispatch.transport.UdpTransport: org.fusesource.hawtdispatch.DispatchQueue dispatchQueue>;
v = new org.fusesource.hawtdispatch.transport.UdpTransport$4;
specialinvoke v.<org.fusesource.hawtdispatch.transport.UdpTransport$4: void <init>(org.fusesource.hawtdispatch.transport.UdpTransport)>(v);
interfaceinvoke v.<org.fusesource.hawtdispatch.DispatchQueue: void execute(org.fusesource.hawtdispatch.Task)>(v);
goto label;
label:
v = <java.lang.System: java.io.PrintStream err>;
v = v.<org.fusesource.hawtdispatch.transport.UdpTransport: org.fusesource.hawtdispatch.transport.UdpTransport$SocketState socketState>;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (org.fusesource.hawtdispatch.transport.UdpTransport$SocketState)>(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[])>("cannot be started.  socket state is: \u0001");
virtualinvoke v.<java.io.PrintStream: void println(java.lang.String)>(v);
label:
if v == null goto label;
virtualinvoke v.<org.fusesource.hawtdispatch.Task: void run()>();
goto label;
label:
v := @caughtexception;
if v == null goto label;
virtualinvoke v.<org.fusesource.hawtdispatch.Task: void run()>();
label:
throw v;
label:
return;
catch java.lang.Throwable from label to label with label;
}
public void _stop(org.fusesource.hawtdispatch.Task)
{
org.fusesource.hawtdispatch.Task v;
org.fusesource.hawtdispatch.transport.UdpTransport$SocketState v, v;
java.lang.String v;
org.fusesource.hawtdispatch.transport.UdpTransport v;
v := @this: org.fusesource.hawtdispatch.transport.UdpTransport;
v := @parameter: org.fusesource.hawtdispatch.Task;
v = v.<org.fusesource.hawtdispatch.transport.UdpTransport: org.fusesource.hawtdispatch.transport.UdpTransport$SocketState socketState>;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (org.fusesource.hawtdispatch.transport.UdpTransport$SocketState)>(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[])>("stopping.. at state: \u0001");
specialinvoke v.<org.fusesource.hawtdispatch.transport.UdpTransport: void trace(java.lang.String)>(v);
v = v.<org.fusesource.hawtdispatch.transport.UdpTransport: org.fusesource.hawtdispatch.transport.UdpTransport$SocketState socketState>;
virtualinvoke v.<org.fusesource.hawtdispatch.transport.UdpTransport$SocketState: void onStop(org.fusesource.hawtdispatch.Task)>(v);
return;
}
protected java.lang.String resolveHostName(java.lang.String) throws java.net.UnknownHostException
{
java.net.InetAddress v;
java.lang.String v, v;
org.fusesource.hawtdispatch.transport.UdpTransport v;
boolean v, v;
v := @this: org.fusesource.hawtdispatch.transport.UdpTransport;
v := @parameter: java.lang.String;
v = staticinvoke <java.net.InetAddress: java.net.InetAddress getLocalHost()>();
v = virtualinvoke v.<java.net.InetAddress: java.lang.String getHostName()>();
if v == null goto label;
v = virtualinvoke v.<org.fusesource.hawtdispatch.transport.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 onConnected() throws java.io.IOException
{
org.fusesource.hawtdispatch.transport.UdpTransport$7 v;
org.fusesource.hawtdispatch.transport.UdpTransport$8 v;
org.fusesource.hawtdispatch.transport.UdpTransport$5 v;
java.nio.channels.DatagramChannel v, v;
org.fusesource.hawtdispatch.transport.UdpTransport$6 v;
org.fusesource.hawtdispatch.EventAggregator v, v;
org.fusesource.hawtdispatch.transport.UdpTransport v;
org.fusesource.hawtdispatch.Task v, v;
org.fusesource.hawtdispatch.DispatchQueue v, v, v, v;
org.fusesource.hawtdispatch.transport.TransportListener v;
org.fusesource.hawtdispatch.CustomDispatchSource v, v, v, v, v, v;
org.fusesource.hawtdispatch.DispatchSource v, v, v, v, v, v;
v := @this: org.fusesource.hawtdispatch.transport.UdpTransport;
v = <org.fusesource.hawtdispatch.EventAggregators: org.fusesource.hawtdispatch.EventAggregator INTEGER_ADD>;
v = v.<org.fusesource.hawtdispatch.transport.UdpTransport: org.fusesource.hawtdispatch.DispatchQueue dispatchQueue>;
v = staticinvoke <org.fusesource.hawtdispatch.Dispatch: org.fusesource.hawtdispatch.CustomDispatchSource createSource(org.fusesource.hawtdispatch.EventAggregator,org.fusesource.hawtdispatch.DispatchQueue)>(v, v);
v.<org.fusesource.hawtdispatch.transport.UdpTransport: org.fusesource.hawtdispatch.CustomDispatchSource yieldSource> = v;
v = v.<org.fusesource.hawtdispatch.transport.UdpTransport: org.fusesource.hawtdispatch.CustomDispatchSource yieldSource>;
v = new org.fusesource.hawtdispatch.transport.UdpTransport$5;
specialinvoke v.<org.fusesource.hawtdispatch.transport.UdpTransport$5: void <init>(org.fusesource.hawtdispatch.transport.UdpTransport)>(v);
interfaceinvoke v.<org.fusesource.hawtdispatch.CustomDispatchSource: void setEventHandler(org.fusesource.hawtdispatch.Task)>(v);
v = v.<org.fusesource.hawtdispatch.transport.UdpTransport: org.fusesource.hawtdispatch.CustomDispatchSource yieldSource>;
interfaceinvoke v.<org.fusesource.hawtdispatch.CustomDispatchSource: void resume()>();
v = <org.fusesource.hawtdispatch.EventAggregators: org.fusesource.hawtdispatch.EventAggregator INTEGER_ADD>;
v = v.<org.fusesource.hawtdispatch.transport.UdpTransport: org.fusesource.hawtdispatch.DispatchQueue dispatchQueue>;
v = staticinvoke <org.fusesource.hawtdispatch.Dispatch: org.fusesource.hawtdispatch.CustomDispatchSource createSource(org.fusesource.hawtdispatch.EventAggregator,org.fusesource.hawtdispatch.DispatchQueue)>(v, v);
v.<org.fusesource.hawtdispatch.transport.UdpTransport: org.fusesource.hawtdispatch.CustomDispatchSource drainOutboundSource> = v;
v = v.<org.fusesource.hawtdispatch.transport.UdpTransport: org.fusesource.hawtdispatch.CustomDispatchSource drainOutboundSource>;
v = new org.fusesource.hawtdispatch.transport.UdpTransport$6;
specialinvoke v.<org.fusesource.hawtdispatch.transport.UdpTransport$6: void <init>(org.fusesource.hawtdispatch.transport.UdpTransport)>(v);
interfaceinvoke v.<org.fusesource.hawtdispatch.CustomDispatchSource: void setEventHandler(org.fusesource.hawtdispatch.Task)>(v);
v = v.<org.fusesource.hawtdispatch.transport.UdpTransport: org.fusesource.hawtdispatch.CustomDispatchSource drainOutboundSource>;
interfaceinvoke v.<org.fusesource.hawtdispatch.CustomDispatchSource: void resume()>();
v = v.<org.fusesource.hawtdispatch.transport.UdpTransport: java.nio.channels.DatagramChannel channel>;
v = v.<org.fusesource.hawtdispatch.transport.UdpTransport: org.fusesource.hawtdispatch.DispatchQueue dispatchQueue>;
v = staticinvoke <org.fusesource.hawtdispatch.Dispatch: org.fusesource.hawtdispatch.DispatchSource createSource(java.nio.channels.SelectableChannel,int,org.fusesource.hawtdispatch.DispatchQueue)>(v, 1, v);
v.<org.fusesource.hawtdispatch.transport.UdpTransport: org.fusesource.hawtdispatch.DispatchSource readSource> = v;
v = v.<org.fusesource.hawtdispatch.transport.UdpTransport: java.nio.channels.DatagramChannel channel>;
v = v.<org.fusesource.hawtdispatch.transport.UdpTransport: org.fusesource.hawtdispatch.DispatchQueue dispatchQueue>;
v = staticinvoke <org.fusesource.hawtdispatch.Dispatch: org.fusesource.hawtdispatch.DispatchSource createSource(java.nio.channels.SelectableChannel,int,org.fusesource.hawtdispatch.DispatchQueue)>(v, 4, v);
v.<org.fusesource.hawtdispatch.transport.UdpTransport: org.fusesource.hawtdispatch.DispatchSource writeSource> = v;
v = v.<org.fusesource.hawtdispatch.transport.UdpTransport: org.fusesource.hawtdispatch.DispatchSource readSource>;
v = v.<org.fusesource.hawtdispatch.transport.UdpTransport: org.fusesource.hawtdispatch.Task CANCEL_HANDLER>;
interfaceinvoke v.<org.fusesource.hawtdispatch.DispatchSource: void setCancelHandler(org.fusesource.hawtdispatch.Task)>(v);
v = v.<org.fusesource.hawtdispatch.transport.UdpTransport: org.fusesource.hawtdispatch.DispatchSource writeSource>;
v = v.<org.fusesource.hawtdispatch.transport.UdpTransport: org.fusesource.hawtdispatch.Task CANCEL_HANDLER>;
interfaceinvoke v.<org.fusesource.hawtdispatch.DispatchSource: void setCancelHandler(org.fusesource.hawtdispatch.Task)>(v);
v = v.<org.fusesource.hawtdispatch.transport.UdpTransport: org.fusesource.hawtdispatch.DispatchSource readSource>;
v = new org.fusesource.hawtdispatch.transport.UdpTransport$7;
specialinvoke v.<org.fusesource.hawtdispatch.transport.UdpTransport$7: void <init>(org.fusesource.hawtdispatch.transport.UdpTransport)>(v);
interfaceinvoke v.<org.fusesource.hawtdispatch.DispatchSource: void setEventHandler(org.fusesource.hawtdispatch.Task)>(v);
v = v.<org.fusesource.hawtdispatch.transport.UdpTransport: org.fusesource.hawtdispatch.DispatchSource writeSource>;
v = new org.fusesource.hawtdispatch.transport.UdpTransport$8;
specialinvoke v.<org.fusesource.hawtdispatch.transport.UdpTransport$8: void <init>(org.fusesource.hawtdispatch.transport.UdpTransport)>(v);
interfaceinvoke v.<org.fusesource.hawtdispatch.DispatchSource: void setEventHandler(org.fusesource.hawtdispatch.Task)>(v);
v = v.<org.fusesource.hawtdispatch.transport.UdpTransport: org.fusesource.hawtdispatch.transport.TransportListener listener>;
interfaceinvoke v.<org.fusesource.hawtdispatch.transport.TransportListener: void onTransportConnected()>();
return;
}
private void dispose()
{
org.fusesource.hawtdispatch.Task v, v;
org.fusesource.hawtdispatch.transport.UdpTransport v;
org.fusesource.hawtdispatch.DispatchSource v, v, v, v;
v := @this: org.fusesource.hawtdispatch.transport.UdpTransport;
v = v.<org.fusesource.hawtdispatch.transport.UdpTransport: org.fusesource.hawtdispatch.DispatchSource readSource>;
if v == null goto label;
v = v.<org.fusesource.hawtdispatch.transport.UdpTransport: org.fusesource.hawtdispatch.DispatchSource readSource>;
interfaceinvoke v.<org.fusesource.hawtdispatch.DispatchSource: void cancel()>();
v.<org.fusesource.hawtdispatch.transport.UdpTransport: org.fusesource.hawtdispatch.DispatchSource readSource> = null;
label:
v = v.<org.fusesource.hawtdispatch.transport.UdpTransport: org.fusesource.hawtdispatch.DispatchSource writeSource>;
if v == null goto label;
v = v.<org.fusesource.hawtdispatch.transport.UdpTransport: org.fusesource.hawtdispatch.DispatchSource writeSource>;
interfaceinvoke v.<org.fusesource.hawtdispatch.DispatchSource: void cancel()>();
v.<org.fusesource.hawtdispatch.transport.UdpTransport: org.fusesource.hawtdispatch.DispatchSource writeSource> = null;
label:
v.<org.fusesource.hawtdispatch.transport.UdpTransport: org.fusesource.hawtdispatch.transport.ProtocolCodec codec> = null;
v = v.<org.fusesource.hawtdispatch.transport.UdpTransport: org.fusesource.hawtdispatch.Task onDispose>;
if v == null goto label;
v = v.<org.fusesource.hawtdispatch.transport.UdpTransport: org.fusesource.hawtdispatch.Task onDispose>;
virtualinvoke v.<org.fusesource.hawtdispatch.Task: void run()>();
v.<org.fusesource.hawtdispatch.transport.UdpTransport: org.fusesource.hawtdispatch.Task onDispose> = null;
label:
return;
}
public void onTransportFailure(java.io.IOException)
{
org.fusesource.hawtdispatch.transport.TransportListener v;
org.fusesource.hawtdispatch.transport.UdpTransport$SocketState v;
java.io.IOException v;
org.fusesource.hawtdispatch.transport.UdpTransport v;
v := @this: org.fusesource.hawtdispatch.transport.UdpTransport;
v := @parameter: java.io.IOException;
v = v.<org.fusesource.hawtdispatch.transport.UdpTransport: org.fusesource.hawtdispatch.transport.TransportListener listener>;
interfaceinvoke v.<org.fusesource.hawtdispatch.transport.TransportListener: void onTransportFailure(java.io.IOException)>(v);
v = v.<org.fusesource.hawtdispatch.transport.UdpTransport: org.fusesource.hawtdispatch.transport.UdpTransport$SocketState socketState>;
virtualinvoke v.<org.fusesource.hawtdispatch.transport.UdpTransport$SocketState: void onCanceled()>();
return;
}
public boolean full()
{
org.fusesource.hawtdispatch.transport.ProtocolCodec v, v;
org.fusesource.hawtdispatch.transport.UdpTransport v;
boolean v, v;
v := @this: org.fusesource.hawtdispatch.transport.UdpTransport;
v = v.<org.fusesource.hawtdispatch.transport.UdpTransport: org.fusesource.hawtdispatch.transport.ProtocolCodec codec>;
if v == null goto label;
v = v.<org.fusesource.hawtdispatch.transport.UdpTransport: org.fusesource.hawtdispatch.transport.ProtocolCodec codec>;
v = interfaceinvoke v.<org.fusesource.hawtdispatch.transport.ProtocolCodec: boolean full()>();
if v == 0 goto label;
label:
v = 1;
goto label;
label:
v = 0;
label:
return v;
}
public boolean offer(java.lang.Object)
{
org.fusesource.hawtdispatch.transport.ProtocolCodec$BufferState v;
java.lang.Integer v;
int[] v;
int v, v;
org.fusesource.hawtdispatch.transport.UdpTransport v;
boolean v, v;
org.fusesource.hawtdispatch.transport.ServiceBase$State v, v;
java.io.IOException v, v, v;
org.fusesource.hawtdispatch.DispatchQueue v;
org.fusesource.hawtdispatch.transport.UdpTransport$SocketState v;
org.fusesource.hawtdispatch.CustomDispatchSource v;
org.fusesource.hawtdispatch.transport.ProtocolCodec v, v;
java.lang.Object v;
v := @this: org.fusesource.hawtdispatch.transport.UdpTransport;
v := @parameter: java.lang.Object;
v = v.<org.fusesource.hawtdispatch.transport.UdpTransport: org.fusesource.hawtdispatch.DispatchQueue dispatchQueue>;
interfaceinvoke v.<org.fusesource.hawtdispatch.DispatchQueue: void assertExecuting()>();
label:
v = v.<org.fusesource.hawtdispatch.transport.UdpTransport: org.fusesource.hawtdispatch.transport.UdpTransport$SocketState socketState>;
v = virtualinvoke v.<org.fusesource.hawtdispatch.transport.UdpTransport$SocketState: boolean is(java.lang.Class)>(class "Lorg/fusesource/hawtdispatch/transport/UdpTransport$CONNECTED;");
if v != 0 goto label;
v = new java.io.IOException;
specialinvoke v.<java.io.IOException: void <init>(java.lang.String)>("Not connected.");
throw v;
label:
v = virtualinvoke v.<org.fusesource.hawtdispatch.transport.UdpTransport: org.fusesource.hawtdispatch.transport.ServiceBase$State getServiceState()>();
v = <org.fusesource.hawtdispatch.transport.UdpTransport: org.fusesource.hawtdispatch.transport.ServiceBase$State STARTED>;
if v == v goto label;
v = new java.io.IOException;
specialinvoke v.<java.io.IOException: void <init>(java.lang.String)>("Not running.");
throw v;
label:
v = v.<org.fusesource.hawtdispatch.transport.UdpTransport: org.fusesource.hawtdispatch.transport.ProtocolCodec codec>;
v = interfaceinvoke v.<org.fusesource.hawtdispatch.transport.ProtocolCodec: org.fusesource.hawtdispatch.transport.ProtocolCodec$BufferState write(java.lang.Object)>(v);
v = v.<org.fusesource.hawtdispatch.transport.UdpTransport: org.fusesource.hawtdispatch.transport.ProtocolCodec codec>;
v = interfaceinvoke v.<org.fusesource.hawtdispatch.transport.ProtocolCodec: boolean full()>();
v.<org.fusesource.hawtdispatch.transport.UdpTransport: boolean rejectingOffers> = v;
v = <org.fusesource.hawtdispatch.transport.UdpTransport$10: int[] $SwitchMap$org$fusesource$hawtdispatch$transport$ProtocolCodec$BufferState>;
v = virtualinvoke v.<org.fusesource.hawtdispatch.transport.ProtocolCodec$BufferState: int ordinal()>();
v = v[v];
lookupswitch(v)
{
case 1: goto label;
default: goto label;
};
label:
return 0;
label:
v = v.<org.fusesource.hawtdispatch.transport.UdpTransport: org.fusesource.hawtdispatch.CustomDispatchSource drainOutboundSource>;
v = staticinvoke <java.lang.Integer: java.lang.Integer valueOf(int)>(1);
interfaceinvoke v.<org.fusesource.hawtdispatch.CustomDispatchSource: void merge(java.lang.Object)>(v);
label:
return 1;
label:
v := @caughtexception;
virtualinvoke v.<org.fusesource.hawtdispatch.transport.UdpTransport: void onTransportFailure(java.io.IOException)>(v);
return 0;
catch java.io.IOException from label to label with label;
catch java.io.IOException from label to label with label;
}
public void flush()
{
org.fusesource.hawtdispatch.transport.ProtocolCodec$BufferState v, v;
org.fusesource.hawtdispatch.transport.ServiceBase$State v, v;
java.io.IOException v;
org.fusesource.hawtdispatch.DispatchQueue v;
org.fusesource.hawtdispatch.transport.TransportListener v;
org.fusesource.hawtdispatch.transport.UdpTransport$SocketState v;
org.fusesource.hawtdispatch.transport.ProtocolCodec v;
org.fusesource.hawtdispatch.transport.UdpTransport v;
boolean v, v, v, v;
v := @this: org.fusesource.hawtdispatch.transport.UdpTransport;
v = v.<org.fusesource.hawtdispatch.transport.UdpTransport: org.fusesource.hawtdispatch.DispatchQueue dispatchQueue>;
interfaceinvoke v.<org.fusesource.hawtdispatch.DispatchQueue: void assertExecuting()>();
v = virtualinvoke v.<org.fusesource.hawtdispatch.transport.UdpTransport: org.fusesource.hawtdispatch.transport.ServiceBase$State getServiceState()>();
v = <org.fusesource.hawtdispatch.transport.UdpTransport: org.fusesource.hawtdispatch.transport.ServiceBase$State STARTED>;
if v != v goto label;
v = v.<org.fusesource.hawtdispatch.transport.UdpTransport: org.fusesource.hawtdispatch.transport.UdpTransport$SocketState socketState>;
v = virtualinvoke v.<org.fusesource.hawtdispatch.transport.UdpTransport$SocketState: boolean is(java.lang.Class)>(class "Lorg/fusesource/hawtdispatch/transport/UdpTransport$CONNECTED;");
if v != 0 goto label;
label:
return;
label:
v = v.<org.fusesource.hawtdispatch.transport.UdpTransport: org.fusesource.hawtdispatch.transport.ProtocolCodec codec>;
v = interfaceinvoke v.<org.fusesource.hawtdispatch.transport.ProtocolCodec: org.fusesource.hawtdispatch.transport.ProtocolCodec$BufferState flush()>();
v = <org.fusesource.hawtdispatch.transport.ProtocolCodec$BufferState: org.fusesource.hawtdispatch.transport.ProtocolCodec$BufferState EMPTY>;
if v != v goto label;
v = virtualinvoke v.<org.fusesource.hawtdispatch.transport.UdpTransport: boolean transportFlush()>();
if v == 0 goto label;
v = v.<org.fusesource.hawtdispatch.transport.UdpTransport: boolean writeResumedForCodecFlush>;
if v == 0 goto label;
v.<org.fusesource.hawtdispatch.transport.UdpTransport: boolean writeResumedForCodecFlush> = 0;
virtualinvoke v.<org.fusesource.hawtdispatch.transport.UdpTransport: void suspendWrite()>();
label:
v.<org.fusesource.hawtdispatch.transport.UdpTransport: boolean rejectingOffers> = 0;
v = v.<org.fusesource.hawtdispatch.transport.UdpTransport: org.fusesource.hawtdispatch.transport.TransportListener listener>;
interfaceinvoke v.<org.fusesource.hawtdispatch.transport.TransportListener: void onRefill()>();
goto label;
label:
v = v.<org.fusesource.hawtdispatch.transport.UdpTransport: boolean writeResumedForCodecFlush>;
if v != 0 goto label;
v.<org.fusesource.hawtdispatch.transport.UdpTransport: boolean writeResumedForCodecFlush> = 1;
virtualinvoke v.<org.fusesource.hawtdispatch.transport.UdpTransport: void resumeWrite()>();
label:
goto label;
label:
v := @caughtexception;
virtualinvoke v.<org.fusesource.hawtdispatch.transport.UdpTransport: void onTransportFailure(java.io.IOException)>(v);
label:
return;
catch java.io.IOException from label to label with label;
}
protected boolean transportFlush() throws java.io.IOException
{
org.fusesource.hawtdispatch.transport.UdpTransport v;
v := @this: org.fusesource.hawtdispatch.transport.UdpTransport;
return 1;
}
public void drainInbound()
{
java.lang.Throwable v;
long v, v, v;
java.lang.Integer v;
byte v;
int v, v;
org.fusesource.hawtdispatch.transport.UdpTransport v;
boolean v, v, v;
org.fusesource.hawtdispatch.transport.ServiceBase$State v, v, v;
java.io.IOException v, v;
org.fusesource.hawtdispatch.transport.TransportListener v;
org.fusesource.hawtdispatch.CustomDispatchSource v;
org.fusesource.hawtdispatch.transport.ProtocolCodec v, v, v, v;
java.lang.Object v;
org.fusesource.hawtdispatch.DispatchSource v, v;
v := @this: org.fusesource.hawtdispatch.transport.UdpTransport;
v = virtualinvoke v.<org.fusesource.hawtdispatch.transport.UdpTransport: org.fusesource.hawtdispatch.transport.ServiceBase$State getServiceState()>();
v = virtualinvoke v.<org.fusesource.hawtdispatch.transport.ServiceBase$State: boolean isStarted()>();
if v == 0 goto label;
v = v.<org.fusesource.hawtdispatch.transport.UdpTransport: org.fusesource.hawtdispatch.DispatchSource readSource>;
v = interfaceinvoke v.<org.fusesource.hawtdispatch.DispatchSource: boolean isSuspended()>();
if v == 0 goto label;
label:
return;
label:
v = v.<org.fusesource.hawtdispatch.transport.UdpTransport: org.fusesource.hawtdispatch.transport.ProtocolCodec codec>;
v = interfaceinvoke v.<org.fusesource.hawtdispatch.transport.ProtocolCodec: long getReadCounter()>();
label:
v = v.<org.fusesource.hawtdispatch.transport.UdpTransport: org.fusesource.hawtdispatch.transport.ProtocolCodec codec>;
v = interfaceinvoke v.<org.fusesource.hawtdispatch.transport.ProtocolCodec: long getReadCounter()>();
v = v - v;
v = v.<org.fusesource.hawtdispatch.transport.UdpTransport: org.fusesource.hawtdispatch.transport.ProtocolCodec codec>;
v = interfaceinvoke v.<org.fusesource.hawtdispatch.transport.ProtocolCodec: int getReadBufferSize()>();
v = v << 2;
v = v cmp v;
if v >= 0 goto label;
v = v.<org.fusesource.hawtdispatch.transport.UdpTransport: org.fusesource.hawtdispatch.transport.ProtocolCodec codec>;
v = interfaceinvoke v.<org.fusesource.hawtdispatch.transport.ProtocolCodec: java.lang.Object read()>();
if v == null goto label;
label:
v = v.<org.fusesource.hawtdispatch.transport.UdpTransport: org.fusesource.hawtdispatch.transport.TransportListener listener>;
interfaceinvoke v.<org.fusesource.hawtdispatch.transport.TransportListener: void onTransportCommand(java.lang.Object)>(v);
label:
goto label;
label:
v := @caughtexception;
virtualinvoke v.<java.lang.Throwable: void printStackTrace()>();
v = new java.io.IOException;
specialinvoke v.<java.io.IOException: void <init>(java.lang.String)>("Transport listener failure.");
virtualinvoke v.<org.fusesource.hawtdispatch.transport.UdpTransport: void onTransportFailure(java.io.IOException)>(v);
label:
v = virtualinvoke v.<org.fusesource.hawtdispatch.transport.UdpTransport: org.fusesource.hawtdispatch.transport.ServiceBase$State getServiceState()>();
v = <org.fusesource.hawtdispatch.transport.UdpTransport: org.fusesource.hawtdispatch.transport.ServiceBase$State STOPPED>;
if v == v goto label;
v = v.<org.fusesource.hawtdispatch.transport.UdpTransport: org.fusesource.hawtdispatch.DispatchSource readSource>;
v = interfaceinvoke v.<org.fusesource.hawtdispatch.DispatchSource: boolean isSuspended()>();
if v == 0 goto label;
label:
return;
label:
return;
label:
v = v.<org.fusesource.hawtdispatch.transport.UdpTransport: org.fusesource.hawtdispatch.CustomDispatchSource yieldSource>;
v = staticinvoke <java.lang.Integer: java.lang.Integer valueOf(int)>(1);
interfaceinvoke v.<org.fusesource.hawtdispatch.CustomDispatchSource: void merge(java.lang.Object)>(v);
label:
goto label;
label:
v := @caughtexception;
virtualinvoke v.<org.fusesource.hawtdispatch.transport.UdpTransport: void onTransportFailure(java.io.IOException)>(v);
label:
return;
catch java.lang.Throwable from label to label with label;
catch java.io.IOException from label to label with label;
catch java.io.IOException from label to label with label;
}
public java.net.SocketAddress getLocalAddress()
{
org.fusesource.hawtdispatch.transport.UdpTransport v;
java.net.SocketAddress v;
v := @this: org.fusesource.hawtdispatch.transport.UdpTransport;
v = v.<org.fusesource.hawtdispatch.transport.UdpTransport: java.net.SocketAddress localAddress>;
return v;
}
public java.net.SocketAddress getRemoteAddress()
{
org.fusesource.hawtdispatch.transport.UdpTransport v;
java.net.SocketAddress v;
v := @this: org.fusesource.hawtdispatch.transport.UdpTransport;
v = v.<org.fusesource.hawtdispatch.transport.UdpTransport: java.net.SocketAddress remoteAddress>;
return v;
}
private boolean assertConnected()
{
java.io.IOException v, v;
org.fusesource.hawtdispatch.transport.UdpTransport v;
boolean v;
v := @this: org.fusesource.hawtdispatch.transport.UdpTransport;
label:
v = virtualinvoke v.<org.fusesource.hawtdispatch.transport.UdpTransport: boolean isConnected()>();
if v != 0 goto label;
v = new java.io.IOException;
specialinvoke v.<java.io.IOException: void <init>(java.lang.String)>("Not connected.");
throw v;
label:
return 1;
label:
v := @caughtexception;
virtualinvoke v.<org.fusesource.hawtdispatch.transport.UdpTransport: void onTransportFailure(java.io.IOException)>(v);
return 0;
catch java.io.IOException from label to label with label;
}
public void suspendRead()
{
org.fusesource.hawtdispatch.transport.UdpTransport v;
org.fusesource.hawtdispatch.DispatchSource v, v;
boolean v;
v := @this: org.fusesource.hawtdispatch.transport.UdpTransport;
v = virtualinvoke v.<org.fusesource.hawtdispatch.transport.UdpTransport: boolean isConnected()>();
if v == 0 goto label;
v = v.<org.fusesource.hawtdispatch.transport.UdpTransport: org.fusesource.hawtdispatch.DispatchSource readSource>;
if v == null goto label;
v = v.<org.fusesource.hawtdispatch.transport.UdpTransport: org.fusesource.hawtdispatch.DispatchSource readSource>;
interfaceinvoke v.<org.fusesource.hawtdispatch.DispatchSource: void suspend()>();
label:
return;
}
public void resumeRead()
{
org.fusesource.hawtdispatch.transport.UdpTransport v;
org.fusesource.hawtdispatch.DispatchSource v;
boolean v;
v := @this: org.fusesource.hawtdispatch.transport.UdpTransport;
v = virtualinvoke v.<org.fusesource.hawtdispatch.transport.UdpTransport: boolean isConnected()>();
if v == 0 goto label;
v = v.<org.fusesource.hawtdispatch.transport.UdpTransport: org.fusesource.hawtdispatch.DispatchSource readSource>;
if v == null goto label;
specialinvoke v.<org.fusesource.hawtdispatch.transport.UdpTransport: void _resumeRead()>();
label:
return;
}
private void _resumeRead()
{
org.fusesource.hawtdispatch.DispatchQueue v;
org.fusesource.hawtdispatch.transport.UdpTransport$9 v;
org.fusesource.hawtdispatch.transport.UdpTransport v;
org.fusesource.hawtdispatch.DispatchSource v;
v := @this: org.fusesource.hawtdispatch.transport.UdpTransport;
v = v.<org.fusesource.hawtdispatch.transport.UdpTransport: org.fusesource.hawtdispatch.DispatchSource readSource>;
interfaceinvoke v.<org.fusesource.hawtdispatch.DispatchSource: void resume()>();
v = v.<org.fusesource.hawtdispatch.transport.UdpTransport: org.fusesource.hawtdispatch.DispatchQueue dispatchQueue>;
v = new org.fusesource.hawtdispatch.transport.UdpTransport$9;
specialinvoke v.<org.fusesource.hawtdispatch.transport.UdpTransport$9: void <init>(org.fusesource.hawtdispatch.transport.UdpTransport)>(v);
interfaceinvoke v.<org.fusesource.hawtdispatch.DispatchQueue: void execute(org.fusesource.hawtdispatch.Task)>(v);
return;
}
protected void suspendWrite()
{
org.fusesource.hawtdispatch.transport.UdpTransport v;
org.fusesource.hawtdispatch.DispatchSource v, v;
boolean v;
v := @this: org.fusesource.hawtdispatch.transport.UdpTransport;
v = virtualinvoke v.<org.fusesource.hawtdispatch.transport.UdpTransport: boolean isConnected()>();
if v == 0 goto label;
v = v.<org.fusesource.hawtdispatch.transport.UdpTransport: org.fusesource.hawtdispatch.DispatchSource writeSource>;
if v == null goto label;
v = v.<org.fusesource.hawtdispatch.transport.UdpTransport: org.fusesource.hawtdispatch.DispatchSource writeSource>;
interfaceinvoke v.<org.fusesource.hawtdispatch.DispatchSource: void suspend()>();
label:
return;
}
protected void resumeWrite()
{
org.fusesource.hawtdispatch.transport.UdpTransport v;
org.fusesource.hawtdispatch.DispatchSource v, v;
boolean v;
v := @this: org.fusesource.hawtdispatch.transport.UdpTransport;
v = virtualinvoke v.<org.fusesource.hawtdispatch.transport.UdpTransport: boolean isConnected()>();
if v == 0 goto label;
v = v.<org.fusesource.hawtdispatch.transport.UdpTransport: org.fusesource.hawtdispatch.DispatchSource writeSource>;
if v == null goto label;
v = v.<org.fusesource.hawtdispatch.transport.UdpTransport: org.fusesource.hawtdispatch.DispatchSource writeSource>;
interfaceinvoke v.<org.fusesource.hawtdispatch.DispatchSource: void resume()>();
label:
return;
}
public org.fusesource.hawtdispatch.transport.TransportListener getTransportListener()
{
org.fusesource.hawtdispatch.transport.TransportListener v;
org.fusesource.hawtdispatch.transport.UdpTransport v;
v := @this: org.fusesource.hawtdispatch.transport.UdpTransport;
v = v.<org.fusesource.hawtdispatch.transport.UdpTransport: org.fusesource.hawtdispatch.transport.TransportListener listener>;
return v;
}
public void setTransportListener(org.fusesource.hawtdispatch.transport.TransportListener)
{
org.fusesource.hawtdispatch.transport.TransportListener v;
org.fusesource.hawtdispatch.transport.UdpTransport v;
v := @this: org.fusesource.hawtdispatch.transport.UdpTransport;
v := @parameter: org.fusesource.hawtdispatch.transport.TransportListener;
v.<org.fusesource.hawtdispatch.transport.UdpTransport: org.fusesource.hawtdispatch.transport.TransportListener listener> = v;
return;
}
public org.fusesource.hawtdispatch.transport.ProtocolCodec getProtocolCodec()
{
org.fusesource.hawtdispatch.transport.UdpTransport v;
org.fusesource.hawtdispatch.transport.ProtocolCodec v;
v := @this: org.fusesource.hawtdispatch.transport.UdpTransport;
v = v.<org.fusesource.hawtdispatch.transport.UdpTransport: org.fusesource.hawtdispatch.transport.ProtocolCodec codec>;
return v;
}
public void setProtocolCodec(org.fusesource.hawtdispatch.transport.ProtocolCodec) throws java.lang.Exception
{
java.nio.channels.DatagramChannel v;
org.fusesource.hawtdispatch.transport.ProtocolCodec v, v;
org.fusesource.hawtdispatch.transport.UdpTransport v;
v := @this: org.fusesource.hawtdispatch.transport.UdpTransport;
v := @parameter: org.fusesource.hawtdispatch.transport.ProtocolCodec;
v.<org.fusesource.hawtdispatch.transport.UdpTransport: org.fusesource.hawtdispatch.transport.ProtocolCodec codec> = v;
v = v.<org.fusesource.hawtdispatch.transport.UdpTransport: java.nio.channels.DatagramChannel channel>;
if v == null goto label;
v = v.<org.fusesource.hawtdispatch.transport.UdpTransport: org.fusesource.hawtdispatch.transport.ProtocolCodec codec>;
if v == null goto label;
virtualinvoke v.<org.fusesource.hawtdispatch.transport.UdpTransport: void initializeCodec()>();
label:
return;
}
public boolean isConnected()
{
org.fusesource.hawtdispatch.transport.UdpTransport v;
org.fusesource.hawtdispatch.transport.UdpTransport$SocketState v;
boolean v;
v := @this: org.fusesource.hawtdispatch.transport.UdpTransport;
v = v.<org.fusesource.hawtdispatch.transport.UdpTransport: org.fusesource.hawtdispatch.transport.UdpTransport$SocketState socketState>;
v = virtualinvoke v.<org.fusesource.hawtdispatch.transport.UdpTransport$SocketState: boolean is(java.lang.Class)>(class "Lorg/fusesource/hawtdispatch/transport/UdpTransport$CONNECTED;");
return v;
}
public boolean isClosed()
{
org.fusesource.hawtdispatch.transport.ServiceBase$State v, v;
org.fusesource.hawtdispatch.transport.UdpTransport v;
boolean v;
v := @this: org.fusesource.hawtdispatch.transport.UdpTransport;
v = virtualinvoke v.<org.fusesource.hawtdispatch.transport.UdpTransport: org.fusesource.hawtdispatch.transport.ServiceBase$State getServiceState()>();
v = <org.fusesource.hawtdispatch.transport.UdpTransport: org.fusesource.hawtdispatch.transport.ServiceBase$State STOPPED>;
if v != v goto label;
v = 1;
goto label;
label:
v = 0;
label:
return v;
}
public boolean isUseLocalHost()
{
org.fusesource.hawtdispatch.transport.UdpTransport v;
boolean v;
v := @this: org.fusesource.hawtdispatch.transport.UdpTransport;
v = v.<org.fusesource.hawtdispatch.transport.UdpTransport: boolean useLocalHost>;
return v;
}
public void setUseLocalHost(boolean)
{
org.fusesource.hawtdispatch.transport.UdpTransport v;
boolean v;
v := @this: org.fusesource.hawtdispatch.transport.UdpTransport;
v := @parameter: boolean;
v.<org.fusesource.hawtdispatch.transport.UdpTransport: boolean useLocalHost> = v;
return;
}
private void trace(java.lang.String)
{
java.lang.String v;
org.fusesource.hawtdispatch.transport.UdpTransport v;
v := @this: org.fusesource.hawtdispatch.transport.UdpTransport;
v := @parameter: java.lang.String;
return;
}
public java.nio.channels.DatagramChannel getDatagramChannel()
{
org.fusesource.hawtdispatch.transport.UdpTransport v;
java.nio.channels.DatagramChannel v;
v := @this: org.fusesource.hawtdispatch.transport.UdpTransport;
v = v.<org.fusesource.hawtdispatch.transport.UdpTransport: java.nio.channels.DatagramChannel channel>;
return v;
}
public java.nio.channels.ReadableByteChannel getReadChannel()
{
org.fusesource.hawtdispatch.transport.UdpTransport v;
java.nio.channels.DatagramChannel v;
v := @this: org.fusesource.hawtdispatch.transport.UdpTransport;
v = v.<org.fusesource.hawtdispatch.transport.UdpTransport: java.nio.channels.DatagramChannel channel>;
return v;
}
public java.nio.channels.WritableByteChannel getWriteChannel()
{
org.fusesource.hawtdispatch.transport.UdpTransport v;
java.nio.channels.DatagramChannel v;
v := @this: org.fusesource.hawtdispatch.transport.UdpTransport;
v = v.<org.fusesource.hawtdispatch.transport.UdpTransport: java.nio.channels.DatagramChannel channel>;
return v;
}
public int getTrafficClass()
{
int v;
org.fusesource.hawtdispatch.transport.UdpTransport v;
v := @this: org.fusesource.hawtdispatch.transport.UdpTransport;
v = v.<org.fusesource.hawtdispatch.transport.UdpTransport: int trafficClass>;
return v;
}
public void setTrafficClass(int)
{
int v;
org.fusesource.hawtdispatch.transport.UdpTransport v;
v := @this: org.fusesource.hawtdispatch.transport.UdpTransport;
v := @parameter: int;
v.<org.fusesource.hawtdispatch.transport.UdpTransport: int trafficClass> = v;
return;
}
public int getReceiveBufferSize()
{
int v;
org.fusesource.hawtdispatch.transport.UdpTransport v;
v := @this: org.fusesource.hawtdispatch.transport.UdpTransport;
v = v.<org.fusesource.hawtdispatch.transport.UdpTransport: int receiveBufferSize>;
return v;
}
public void setReceiveBufferSize(int)
{
int v;
org.fusesource.hawtdispatch.transport.UdpTransport v;
v := @this: org.fusesource.hawtdispatch.transport.UdpTransport;
v := @parameter: int;
v.<org.fusesource.hawtdispatch.transport.UdpTransport: int receiveBufferSize> = v;
return;
}
public int getSendBufferSize()
{
int v;
org.fusesource.hawtdispatch.transport.UdpTransport v;
v := @this: org.fusesource.hawtdispatch.transport.UdpTransport;
v = v.<org.fusesource.hawtdispatch.transport.UdpTransport: int sendBufferSize>;
return v;
}
public void setSendBufferSize(int)
{
int v;
org.fusesource.hawtdispatch.transport.UdpTransport v;
v := @this: org.fusesource.hawtdispatch.transport.UdpTransport;
v := @parameter: int;
v.<org.fusesource.hawtdispatch.transport.UdpTransport: int sendBufferSize> = v;
return;
}
public java.util.concurrent.Executor getBlockingExecutor()
{
org.fusesource.hawtdispatch.transport.UdpTransport v;
java.util.concurrent.Executor v;
v := @this: org.fusesource.hawtdispatch.transport.UdpTransport;
v = v.<org.fusesource.hawtdispatch.transport.UdpTransport: java.util.concurrent.Executor blockingExecutor>;
return v;
}
public void setBlockingExecutor(java.util.concurrent.Executor)
{
org.fusesource.hawtdispatch.transport.UdpTransport v;
java.util.concurrent.Executor v;
v := @this: org.fusesource.hawtdispatch.transport.UdpTransport;
v := @parameter: java.util.concurrent.Executor;
v.<org.fusesource.hawtdispatch.transport.UdpTransport: java.util.concurrent.Executor blockingExecutor> = v;
return;
}
static void <clinit>()
{
org.fusesource.hawtdispatch.transport.UdpTransport$1 v;
v = new org.fusesource.hawtdispatch.transport.UdpTransport$1;
specialinvoke v.<org.fusesource.hawtdispatch.transport.UdpTransport$1: void <init>()>();
<org.fusesource.hawtdispatch.transport.UdpTransport: java.net.SocketAddress ANY_ADDRESS> = v;
return;
}
}