public class org.glassfish.grizzly.nio.transport.UDPNIOConnection extends org.glassfish.grizzly.nio.NIOConnection
{
private static final java.util.logging.Logger LOGGER;
private static final boolean IS_MULTICAST_SUPPORTED;
private static final java.lang.reflect.Method JOIN_METHOD;
private static final java.lang.reflect.Method JOIN_WITH_SOURCE_METHOD;
private static final java.lang.reflect.Method MK_GET_NETWORK_INTERFACE_METHOD;
private static final java.lang.reflect.Method MK_GET_SOURCE_ADDRESS_METHOD;
private static final java.lang.reflect.Method MK_DROP_METHOD;
private static final java.lang.reflect.Method MK_BLOCK_METHOD;
private static final java.lang.reflect.Method MK_UNBLOCK_METHOD;
private final java.lang.Object multicastSync;
private java.util.Map membershipKeysMap;
org.glassfish.grizzly.utils.Holder localSocketAddressHolder;
org.glassfish.grizzly.utils.Holder peerSocketAddressHolder;
private int readBufferSize;
private int writeBufferSize;
public void <init>(org.glassfish.grizzly.nio.transport.UDPNIOTransport, java.nio.channels.DatagramChannel)
{
org.glassfish.grizzly.nio.transport.UDPNIOConnection v;
java.nio.channels.DatagramChannel v;
int v, v;
java.lang.Object v, v;
org.glassfish.grizzly.nio.transport.UDPNIOTransport v;
boolean v;
v := @this: org.glassfish.grizzly.nio.transport.UDPNIOConnection;
v := @parameter: org.glassfish.grizzly.nio.transport.UDPNIOTransport;
v := @parameter: java.nio.channels.DatagramChannel;
specialinvoke v.<org.glassfish.grizzly.nio.NIOConnection: void <init>(org.glassfish.grizzly.nio.NIOTransport)>(v);
v = (int) -1;
v.<org.glassfish.grizzly.nio.transport.UDPNIOConnection: int readBufferSize> = v;
v = (int) -1;
v.<org.glassfish.grizzly.nio.transport.UDPNIOConnection: int writeBufferSize> = v;
v.<org.glassfish.grizzly.nio.transport.UDPNIOConnection: java.nio.channels.SelectableChannel channel> = v;
virtualinvoke v.<org.glassfish.grizzly.nio.transport.UDPNIOConnection: void resetProperties()>();
v = <org.glassfish.grizzly.nio.transport.UDPNIOConnection: boolean IS_MULTICAST_SUPPORTED>;
if v == 0 goto label;
v = new java.lang.Object;
v = v;
specialinvoke v.<java.lang.Object: void <init>()>();
goto label;
label:
v = null;
label:
v.<org.glassfish.grizzly.nio.transport.UDPNIOConnection: java.lang.Object multicastSync> = v;
return;
}
public boolean isConnected()
{
org.glassfish.grizzly.nio.transport.UDPNIOConnection v;
java.nio.channels.SelectableChannel v, v;
boolean v, v;
v := @this: org.glassfish.grizzly.nio.transport.UDPNIOConnection;
v = v.<org.glassfish.grizzly.nio.transport.UDPNIOConnection: java.nio.channels.SelectableChannel channel>;
if v == null goto label;
v = v.<org.glassfish.grizzly.nio.transport.UDPNIOConnection: java.nio.channels.SelectableChannel channel>;
v = virtualinvoke v.<java.nio.channels.DatagramChannel: boolean isConnected()>();
if v == 0 goto label;
v = 1;
goto label;
label:
v = 0;
label:
return v;
}
public void join(java.net.InetAddress, java.net.NetworkInterface) throws java.io.IOException
{
java.net.InetAddress v;
java.net.NetworkInterface v;
org.glassfish.grizzly.nio.transport.UDPNIOConnection v;
v := @this: org.glassfish.grizzly.nio.transport.UDPNIOConnection;
v := @parameter: java.net.InetAddress;
v := @parameter: java.net.NetworkInterface;
virtualinvoke v.<org.glassfish.grizzly.nio.transport.UDPNIOConnection: void join(java.net.InetAddress,java.net.NetworkInterface,java.net.InetAddress)>(v, v, null);
return;
}
public void join(java.net.InetAddress, java.net.NetworkInterface, java.net.InetAddress) throws java.io.IOException
{
java.lang.Throwable v;
org.glassfish.grizzly.nio.transport.UDPNIOConnection v;
java.util.HashMap v;
java.net.InetAddress v, v;
java.util.HashSet v;
java.util.Map v, v, v;
boolean v;
java.lang.UnsupportedOperationException v;
java.net.NetworkInterface v;
java.lang.IllegalArgumentException v, v;
java.nio.channels.SelectableChannel v;
java.lang.Object v, v, v;
v := @this: org.glassfish.grizzly.nio.transport.UDPNIOConnection;
v := @parameter: java.net.InetAddress;
v := @parameter: java.net.NetworkInterface;
v := @parameter: java.net.InetAddress;
v = <org.glassfish.grizzly.nio.transport.UDPNIOConnection: boolean IS_MULTICAST_SUPPORTED>;
if v != 0 goto label;
v = new java.lang.UnsupportedOperationException;
specialinvoke v.<java.lang.UnsupportedOperationException: void <init>(java.lang.String)>("JDK 1.7+ required");
throw v;
label:
if v != null goto label;
v = new java.lang.IllegalArgumentException;
specialinvoke v.<java.lang.IllegalArgumentException: void <init>(java.lang.String)>("group parameter can\'t be null");
throw v;
label:
if v != null goto label;
v = new java.lang.IllegalArgumentException;
specialinvoke v.<java.lang.IllegalArgumentException: void <init>(java.lang.String)>("networkInterface parameter can\'t be null");
throw v;
label:
v = v.<org.glassfish.grizzly.nio.transport.UDPNIOConnection: java.lang.Object multicastSync>;
entermonitor v;
label:
v = v.<org.glassfish.grizzly.nio.transport.UDPNIOConnection: java.nio.channels.SelectableChannel channel>;
v = staticinvoke <org.glassfish.grizzly.nio.transport.UDPNIOConnection: java.lang.Object join0(java.nio.channels.DatagramChannel,java.net.InetAddress,java.net.NetworkInterface,java.net.InetAddress)>(v, v, v, v);
v = v.<org.glassfish.grizzly.nio.transport.UDPNIOConnection: java.util.Map membershipKeysMap>;
if v != null goto label;
v = new java.util.HashMap;
specialinvoke v.<java.util.HashMap: void <init>()>();
v.<org.glassfish.grizzly.nio.transport.UDPNIOConnection: java.util.Map membershipKeysMap> = v;
label:
v = v.<org.glassfish.grizzly.nio.transport.UDPNIOConnection: java.util.Map membershipKeysMap>;
v = interfaceinvoke v.<java.util.Map: java.lang.Object get(java.lang.Object)>(v);
if v != null goto label;
v = new java.util.HashSet;
specialinvoke v.<java.util.HashSet: void <init>()>();
v = v;
v = v.<org.glassfish.grizzly.nio.transport.UDPNIOConnection: java.util.Map membershipKeysMap>;
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>(v, v);
label:
interfaceinvoke v.<java.util.Set: boolean add(java.lang.Object)>(v);
exitmonitor v;
label:
goto label;
label:
v := @caughtexception;
exitmonitor v;
throw v;
label:
return;
catch java.lang.Throwable from label to label with label;
}
public void drop(java.net.InetAddress, java.net.NetworkInterface) throws java.io.IOException
{
java.net.InetAddress v;
java.net.NetworkInterface v;
org.glassfish.grizzly.nio.transport.UDPNIOConnection v;
v := @this: org.glassfish.grizzly.nio.transport.UDPNIOConnection;
v := @parameter: java.net.InetAddress;
v := @parameter: java.net.NetworkInterface;
virtualinvoke v.<org.glassfish.grizzly.nio.transport.UDPNIOConnection: void drop(java.net.InetAddress,java.net.NetworkInterface,java.net.InetAddress)>(v, v, null);
return;
}
public void drop(java.net.InetAddress, java.net.NetworkInterface, java.net.InetAddress) throws java.io.IOException
{
java.lang.Throwable v;
org.glassfish.grizzly.nio.transport.UDPNIOConnection v;
java.net.InetAddress v, v, v, v;
java.util.Map v, v, v;
boolean v, v, v, v, v;
java.lang.UnsupportedOperationException v;
java.util.Iterator v;
java.net.NetworkInterface v, v;
java.lang.IllegalArgumentException v, v;
java.lang.Object v, v, v;
v := @this: org.glassfish.grizzly.nio.transport.UDPNIOConnection;
v := @parameter: java.net.InetAddress;
v := @parameter: java.net.NetworkInterface;
v := @parameter: java.net.InetAddress;
v = <org.glassfish.grizzly.nio.transport.UDPNIOConnection: boolean IS_MULTICAST_SUPPORTED>;
if v != 0 goto label;
v = new java.lang.UnsupportedOperationException;
specialinvoke v.<java.lang.UnsupportedOperationException: void <init>(java.lang.String)>("JDK 1.7+ required");
throw v;
label:
if v != null goto label;
v = new java.lang.IllegalArgumentException;
specialinvoke v.<java.lang.IllegalArgumentException: void <init>(java.lang.String)>("group parameter can\'t be null");
throw v;
label:
if v != null goto label;
v = new java.lang.IllegalArgumentException;
specialinvoke v.<java.lang.IllegalArgumentException: void <init>(java.lang.String)>("networkInterface parameter can\'t be null");
throw v;
label:
v = v.<org.glassfish.grizzly.nio.transport.UDPNIOConnection: java.lang.Object multicastSync>;
entermonitor v;
label:
v = v.<org.glassfish.grizzly.nio.transport.UDPNIOConnection: java.util.Map membershipKeysMap>;
if v == null goto label;
v = v.<org.glassfish.grizzly.nio.transport.UDPNIOConnection: java.util.Map membershipKeysMap>;
v = interfaceinvoke v.<java.util.Map: java.lang.Object get(java.lang.Object)>(v);
if v == null goto label;
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 = staticinvoke <org.glassfish.grizzly.nio.transport.UDPNIOConnection: java.net.NetworkInterface networkInterface0(java.lang.Object)>(v);
v = virtualinvoke v.<java.net.NetworkInterface: boolean equals(java.lang.Object)>(v);
if v == 0 goto label;
if v != null goto label;
v = staticinvoke <org.glassfish.grizzly.nio.transport.UDPNIOConnection: java.net.InetAddress sourceAddress0(java.lang.Object)>(v);
if v == null goto label;
label:
if v == null goto label;
v = staticinvoke <org.glassfish.grizzly.nio.transport.UDPNIOConnection: java.net.InetAddress sourceAddress0(java.lang.Object)>(v);
v = virtualinvoke v.<java.net.InetAddress: boolean equals(java.lang.Object)>(v);
if v == 0 goto label;
label:
staticinvoke <org.glassfish.grizzly.nio.transport.UDPNIOConnection: void drop0(java.lang.Object)>(v);
interfaceinvoke v.<java.util.Iterator: void remove()>();
label:
v = interfaceinvoke v.<java.util.Set: boolean isEmpty()>();
if v == 0 goto label;
v = v.<org.glassfish.grizzly.nio.transport.UDPNIOConnection: java.util.Map membershipKeysMap>;
interfaceinvoke v.<java.util.Map: java.lang.Object remove(java.lang.Object)>(v);
goto label;
label:
exitmonitor v;
label:
goto label;
label:
v := @caughtexception;
exitmonitor v;
throw v;
label:
return;
catch java.lang.Throwable from label to label with label;
}
public void dropAll(java.net.InetAddress, java.net.NetworkInterface) throws java.io.IOException
{
java.lang.Throwable v;
org.glassfish.grizzly.nio.transport.UDPNIOConnection v;
java.net.InetAddress v;
java.util.Map v, v, v;
boolean v, v, v, v;
java.lang.UnsupportedOperationException v;
java.util.Iterator v;
java.net.NetworkInterface v, v;
java.lang.IllegalArgumentException v, v;
java.lang.Object v, v, v;
v := @this: org.glassfish.grizzly.nio.transport.UDPNIOConnection;
v := @parameter: java.net.InetAddress;
v := @parameter: java.net.NetworkInterface;
v = <org.glassfish.grizzly.nio.transport.UDPNIOConnection: boolean IS_MULTICAST_SUPPORTED>;
if v != 0 goto label;
v = new java.lang.UnsupportedOperationException;
specialinvoke v.<java.lang.UnsupportedOperationException: void <init>(java.lang.String)>("JDK 1.7+ required");
throw v;
label:
if v != null goto label;
v = new java.lang.IllegalArgumentException;
specialinvoke v.<java.lang.IllegalArgumentException: void <init>(java.lang.String)>("group parameter can\'t be null");
throw v;
label:
if v != null goto label;
v = new java.lang.IllegalArgumentException;
specialinvoke v.<java.lang.IllegalArgumentException: void <init>(java.lang.String)>("networkInterface parameter can\'t be null");
throw v;
label:
v = v.<org.glassfish.grizzly.nio.transport.UDPNIOConnection: java.lang.Object multicastSync>;
entermonitor v;
label:
v = v.<org.glassfish.grizzly.nio.transport.UDPNIOConnection: java.util.Map membershipKeysMap>;
if v == null goto label;
v = v.<org.glassfish.grizzly.nio.transport.UDPNIOConnection: java.util.Map membershipKeysMap>;
v = interfaceinvoke v.<java.util.Map: java.lang.Object get(java.lang.Object)>(v);
if v == null goto label;
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 = staticinvoke <org.glassfish.grizzly.nio.transport.UDPNIOConnection: java.net.NetworkInterface networkInterface0(java.lang.Object)>(v);
v = virtualinvoke v.<java.net.NetworkInterface: boolean equals(java.lang.Object)>(v);
if v == 0 goto label;
staticinvoke <org.glassfish.grizzly.nio.transport.UDPNIOConnection: void drop0(java.lang.Object)>(v);
interfaceinvoke v.<java.util.Iterator: void remove()>();
goto label;
label:
v = interfaceinvoke v.<java.util.Set: boolean isEmpty()>();
if v == 0 goto label;
v = v.<org.glassfish.grizzly.nio.transport.UDPNIOConnection: java.util.Map membershipKeysMap>;
interfaceinvoke v.<java.util.Map: java.lang.Object remove(java.lang.Object)>(v);
label:
exitmonitor v;
label:
goto label;
label:
v := @caughtexception;
exitmonitor v;
throw v;
label:
return;
catch java.lang.Throwable from label to label with label;
}
public void block(java.net.InetAddress, java.net.NetworkInterface, java.net.InetAddress) throws java.io.IOException
{
java.lang.Throwable v;
org.glassfish.grizzly.nio.transport.UDPNIOConnection v;
java.net.InetAddress v, v, v;
java.util.Map v, v;
boolean v, v, v;
java.lang.UnsupportedOperationException v;
java.util.Iterator v;
java.net.NetworkInterface v, v;
java.lang.IllegalArgumentException v, v;
java.lang.Object v, v, v;
v := @this: org.glassfish.grizzly.nio.transport.UDPNIOConnection;
v := @parameter: java.net.InetAddress;
v := @parameter: java.net.NetworkInterface;
v := @parameter: java.net.InetAddress;
v = <org.glassfish.grizzly.nio.transport.UDPNIOConnection: boolean IS_MULTICAST_SUPPORTED>;
if v != 0 goto label;
v = new java.lang.UnsupportedOperationException;
specialinvoke v.<java.lang.UnsupportedOperationException: void <init>(java.lang.String)>("JDK 1.7+ required");
throw v;
label:
if v != null goto label;
v = new java.lang.IllegalArgumentException;
specialinvoke v.<java.lang.IllegalArgumentException: void <init>(java.lang.String)>("group parameter can\'t be null");
throw v;
label:
if v != null goto label;
v = new java.lang.IllegalArgumentException;
specialinvoke v.<java.lang.IllegalArgumentException: void <init>(java.lang.String)>("networkInterface parameter can\'t be null");
throw v;
label:
v = v.<org.glassfish.grizzly.nio.transport.UDPNIOConnection: java.lang.Object multicastSync>;
entermonitor v;
label:
v = v.<org.glassfish.grizzly.nio.transport.UDPNIOConnection: java.util.Map membershipKeysMap>;
if v == null goto label;
v = v.<org.glassfish.grizzly.nio.transport.UDPNIOConnection: java.util.Map membershipKeysMap>;
v = interfaceinvoke v.<java.util.Map: java.lang.Object get(java.lang.Object)>(v);
if v == null goto label;
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 = staticinvoke <org.glassfish.grizzly.nio.transport.UDPNIOConnection: java.net.NetworkInterface networkInterface0(java.lang.Object)>(v);
v = virtualinvoke v.<java.net.NetworkInterface: boolean equals(java.lang.Object)>(v);
if v == 0 goto label;
v = staticinvoke <org.glassfish.grizzly.nio.transport.UDPNIOConnection: java.net.InetAddress sourceAddress0(java.lang.Object)>(v);
if v != null goto label;
staticinvoke <org.glassfish.grizzly.nio.transport.UDPNIOConnection: void block0(java.lang.Object,java.net.InetAddress)>(v, v);
goto label;
label:
exitmonitor v;
label:
goto label;
label:
v := @caughtexception;
exitmonitor v;
throw v;
label:
return;
catch java.lang.Throwable from label to label with label;
}
public void unblock(java.net.InetAddress, java.net.NetworkInterface, java.net.InetAddress) throws java.io.IOException
{
java.lang.Throwable v;
org.glassfish.grizzly.nio.transport.UDPNIOConnection v;
java.net.InetAddress v, v, v;
java.util.Map v, v;
boolean v, v, v;
java.lang.UnsupportedOperationException v;
java.util.Iterator v;
java.net.NetworkInterface v, v;
java.lang.IllegalArgumentException v, v;
java.lang.Object v, v, v;
v := @this: org.glassfish.grizzly.nio.transport.UDPNIOConnection;
v := @parameter: java.net.InetAddress;
v := @parameter: java.net.NetworkInterface;
v := @parameter: java.net.InetAddress;
v = <org.glassfish.grizzly.nio.transport.UDPNIOConnection: boolean IS_MULTICAST_SUPPORTED>;
if v != 0 goto label;
v = new java.lang.UnsupportedOperationException;
specialinvoke v.<java.lang.UnsupportedOperationException: void <init>(java.lang.String)>("JDK 1.7+ required");
throw v;
label:
if v != null goto label;
v = new java.lang.IllegalArgumentException;
specialinvoke v.<java.lang.IllegalArgumentException: void <init>(java.lang.String)>("group parameter can\'t be null");
throw v;
label:
if v != null goto label;
v = new java.lang.IllegalArgumentException;
specialinvoke v.<java.lang.IllegalArgumentException: void <init>(java.lang.String)>("networkInterface parameter can\'t be null");
throw v;
label:
v = v.<org.glassfish.grizzly.nio.transport.UDPNIOConnection: java.lang.Object multicastSync>;
entermonitor v;
label:
v = v.<org.glassfish.grizzly.nio.transport.UDPNIOConnection: java.util.Map membershipKeysMap>;
if v == null goto label;
v = v.<org.glassfish.grizzly.nio.transport.UDPNIOConnection: java.util.Map membershipKeysMap>;
v = interfaceinvoke v.<java.util.Map: java.lang.Object get(java.lang.Object)>(v);
if v == null goto label;
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 = staticinvoke <org.glassfish.grizzly.nio.transport.UDPNIOConnection: java.net.NetworkInterface networkInterface0(java.lang.Object)>(v);
v = virtualinvoke v.<java.net.NetworkInterface: boolean equals(java.lang.Object)>(v);
if v == 0 goto label;
v = staticinvoke <org.glassfish.grizzly.nio.transport.UDPNIOConnection: java.net.InetAddress sourceAddress0(java.lang.Object)>(v);
if v != null goto label;
staticinvoke <org.glassfish.grizzly.nio.transport.UDPNIOConnection: void unblock0(java.lang.Object,java.net.InetAddress)>(v, v);
goto label;
label:
exitmonitor v;
label:
goto label;
label:
v := @caughtexception;
exitmonitor v;
throw v;
label:
return;
catch java.lang.Throwable from label to label with label;
}
protected void setSelectionKey(java.nio.channels.SelectionKey)
{
org.glassfish.grizzly.nio.transport.UDPNIOConnection v;
java.nio.channels.SelectionKey v;
v := @this: org.glassfish.grizzly.nio.transport.UDPNIOConnection;
v := @parameter: java.nio.channels.SelectionKey;
specialinvoke v.<org.glassfish.grizzly.nio.NIOConnection: void setSelectionKey(java.nio.channels.SelectionKey)>(v);
return;
}
protected void setSelectorRunner(org.glassfish.grizzly.nio.SelectorRunner)
{
org.glassfish.grizzly.nio.SelectorRunner v;
org.glassfish.grizzly.nio.transport.UDPNIOConnection v;
v := @this: org.glassfish.grizzly.nio.transport.UDPNIOConnection;
v := @parameter: org.glassfish.grizzly.nio.SelectorRunner;
specialinvoke v.<org.glassfish.grizzly.nio.NIOConnection: void setSelectorRunner(org.glassfish.grizzly.nio.SelectorRunner)>(v);
return;
}
protected boolean notifyReady()
{
org.glassfish.grizzly.nio.transport.UDPNIOConnection v;
java.util.concurrent.atomic.AtomicReferenceFieldUpdater v;
java.lang.Object v;
boolean v;
v := @this: org.glassfish.grizzly.nio.transport.UDPNIOConnection;
v = <org.glassfish.grizzly.nio.transport.UDPNIOConnection: java.util.concurrent.atomic.AtomicReferenceFieldUpdater connectCloseSemaphoreUpdater>;
v = <org.glassfish.grizzly.nio.transport.UDPNIOConnection: java.lang.Object NOTIFICATION_INITIALIZED>;
v = virtualinvoke v.<java.util.concurrent.atomic.AtomicReferenceFieldUpdater: boolean compareAndSet(java.lang.Object,java.lang.Object,java.lang.Object)>(v, null, v);
return v;
}
public java.net.SocketAddress getPeerAddress()
{
java.lang.Object v;
org.glassfish.grizzly.nio.transport.UDPNIOConnection v;
org.glassfish.grizzly.utils.Holder v;
v := @this: org.glassfish.grizzly.nio.transport.UDPNIOConnection;
v = v.<org.glassfish.grizzly.nio.transport.UDPNIOConnection: org.glassfish.grizzly.utils.Holder peerSocketAddressHolder>;
v = virtualinvoke v.<org.glassfish.grizzly.utils.Holder: java.lang.Object get()>();
return v;
}
public java.net.SocketAddress getLocalAddress()
{
java.lang.Object v;
org.glassfish.grizzly.nio.transport.UDPNIOConnection v;
org.glassfish.grizzly.utils.Holder v;
v := @this: org.glassfish.grizzly.nio.transport.UDPNIOConnection;
v = v.<org.glassfish.grizzly.nio.transport.UDPNIOConnection: org.glassfish.grizzly.utils.Holder localSocketAddressHolder>;
v = virtualinvoke v.<org.glassfish.grizzly.utils.Holder: java.lang.Object get()>();
return v;
}
protected final void resetProperties()
{
org.glassfish.grizzly.nio.transport.UDPNIOConnection v;
org.glassfish.grizzly.nio.transport.UDPNIOConnection$1 v;
org.glassfish.grizzly.nio.transport.UDPNIOConnection$2 v;
org.glassfish.grizzly.asyncqueue.AsyncQueueIO v;
org.glassfish.grizzly.nio.NIOTransport v, v, v;
int v, v, v, v, v, v;
org.glassfish.grizzly.asyncqueue.AsyncQueueWriter v;
org.glassfish.grizzly.utils.Holder$LazyHolder v, v;
java.nio.channels.SelectableChannel v;
v := @this: org.glassfish.grizzly.nio.transport.UDPNIOConnection;
v = v.<org.glassfish.grizzly.nio.transport.UDPNIOConnection: java.nio.channels.SelectableChannel channel>;
if v == null goto label;
v = v.<org.glassfish.grizzly.nio.transport.UDPNIOConnection: org.glassfish.grizzly.nio.NIOTransport transport>;
v = virtualinvoke v.<org.glassfish.grizzly.nio.NIOTransport: int getReadBufferSize()>();
virtualinvoke v.<org.glassfish.grizzly.nio.transport.UDPNIOConnection: void setReadBufferSize(int)>(v);
v = v.<org.glassfish.grizzly.nio.transport.UDPNIOConnection: org.glassfish.grizzly.nio.NIOTransport transport>;
v = virtualinvoke v.<org.glassfish.grizzly.nio.NIOTransport: int getWriteBufferSize()>();
virtualinvoke v.<org.glassfish.grizzly.nio.transport.UDPNIOConnection: void setWriteBufferSize(int)>(v);
v = v.<org.glassfish.grizzly.nio.transport.UDPNIOConnection: org.glassfish.grizzly.nio.NIOTransport transport>;
v = virtualinvoke v.<org.glassfish.grizzly.nio.NIOTransport: org.glassfish.grizzly.asyncqueue.AsyncQueueIO getAsyncQueueIO()>();
v = interfaceinvoke v.<org.glassfish.grizzly.asyncqueue.AsyncQueueIO: org.glassfish.grizzly.asyncqueue.AsyncQueueWriter getWriter()>();
v = interfaceinvoke v.<org.glassfish.grizzly.asyncqueue.AsyncQueueWriter: int getMaxPendingBytesPerConnection()>();
v = (int) -2;
if v != v goto label;
v = virtualinvoke v.<org.glassfish.grizzly.nio.transport.UDPNIOConnection: int getWriteBufferSize()>();
v = v * 4;
goto label;
label:
v = v;
label:
virtualinvoke v.<org.glassfish.grizzly.nio.transport.UDPNIOConnection: void setMaxAsyncWriteQueueSize(int)>(v);
v = new org.glassfish.grizzly.nio.transport.UDPNIOConnection$1;
specialinvoke v.<org.glassfish.grizzly.nio.transport.UDPNIOConnection$1: void <init>(org.glassfish.grizzly.nio.transport.UDPNIOConnection)>(v);
v = staticinvoke <org.glassfish.grizzly.utils.Holder: org.glassfish.grizzly.utils.Holder$LazyHolder lazyHolder(org.glassfish.grizzly.utils.NullaryFunction)>(v);
v.<org.glassfish.grizzly.nio.transport.UDPNIOConnection: org.glassfish.grizzly.utils.Holder localSocketAddressHolder> = v;
v = new org.glassfish.grizzly.nio.transport.UDPNIOConnection$2;
specialinvoke v.<org.glassfish.grizzly.nio.transport.UDPNIOConnection$2: void <init>(org.glassfish.grizzly.nio.transport.UDPNIOConnection)>(v);
v = staticinvoke <org.glassfish.grizzly.utils.Holder: org.glassfish.grizzly.utils.Holder$LazyHolder lazyHolder(org.glassfish.grizzly.utils.NullaryFunction)>(v);
v.<org.glassfish.grizzly.nio.transport.UDPNIOConnection: org.glassfish.grizzly.utils.Holder peerSocketAddressHolder> = v;
label:
return;
}
public int getReadBufferSize()
{
org.glassfish.grizzly.nio.transport.UDPNIOConnection v;
java.io.IOException v;
java.util.logging.Logger v;
java.util.logging.Level v;
java.net.DatagramSocket v;
java.nio.channels.SelectableChannel v;
int v, v, v, v;
java.lang.String v;
v := @this: org.glassfish.grizzly.nio.transport.UDPNIOConnection;
v = v.<org.glassfish.grizzly.nio.transport.UDPNIOConnection: int readBufferSize>;
if v < 0 goto label;
v = v.<org.glassfish.grizzly.nio.transport.UDPNIOConnection: int readBufferSize>;
return v;
label:
v = v.<org.glassfish.grizzly.nio.transport.UDPNIOConnection: java.nio.channels.SelectableChannel channel>;
v = virtualinvoke v.<java.nio.channels.DatagramChannel: java.net.DatagramSocket socket()>();
v = virtualinvoke v.<java.net.DatagramSocket: int getReceiveBufferSize()>();
v.<org.glassfish.grizzly.nio.transport.UDPNIOConnection: int readBufferSize> = v;
label:
goto label;
label:
v := @caughtexception;
v = <org.glassfish.grizzly.nio.transport.UDPNIOConnection: java.util.logging.Logger LOGGER>;
v = <java.util.logging.Level: java.util.logging.Level FINE>;
v = staticinvoke <org.glassfish.grizzly.localization.LogMessages: java.lang.String WARNING_GRIZZLY_CONNECTION_GET_READBUFFER_SIZE_EXCEPTION()>();
virtualinvoke v.<java.util.logging.Logger: void log(java.util.logging.Level,java.lang.String,java.lang.Throwable)>(v, v, v);
v.<org.glassfish.grizzly.nio.transport.UDPNIOConnection: int readBufferSize> = 0;
label:
v = v.<org.glassfish.grizzly.nio.transport.UDPNIOConnection: int readBufferSize>;
return v;
catch java.io.IOException from label to label with label;
}
public void setReadBufferSize(int)
{
org.glassfish.grizzly.nio.transport.UDPNIOConnection v;
java.io.IOException v;
java.util.logging.Logger v;
java.util.logging.Level v;
java.net.DatagramSocket v, v;
java.nio.channels.SelectableChannel v, v;
int v, v;
java.lang.String v;
v := @this: org.glassfish.grizzly.nio.transport.UDPNIOConnection;
v := @parameter: int;
if v <= 0 goto label;
label:
v = v.<org.glassfish.grizzly.nio.transport.UDPNIOConnection: java.nio.channels.SelectableChannel channel>;
v = virtualinvoke v.<java.nio.channels.DatagramChannel: java.net.DatagramSocket socket()>();
v = virtualinvoke v.<java.net.DatagramSocket: int getReceiveBufferSize()>();
if v <= v goto label;
v = v.<org.glassfish.grizzly.nio.transport.UDPNIOConnection: java.nio.channels.SelectableChannel channel>;
v = virtualinvoke v.<java.nio.channels.DatagramChannel: java.net.DatagramSocket socket()>();
virtualinvoke v.<java.net.DatagramSocket: void setReceiveBufferSize(int)>(v);
label:
v.<org.glassfish.grizzly.nio.transport.UDPNIOConnection: int readBufferSize> = v;
label:
goto label;
label:
v := @caughtexception;
v = <org.glassfish.grizzly.nio.transport.UDPNIOConnection: java.util.logging.Logger LOGGER>;
v = <java.util.logging.Level: java.util.logging.Level WARNING>;
v = staticinvoke <org.glassfish.grizzly.localization.LogMessages: java.lang.String WARNING_GRIZZLY_CONNECTION_SET_READBUFFER_SIZE_EXCEPTION()>();
virtualinvoke v.<java.util.logging.Logger: void log(java.util.logging.Level,java.lang.String,java.lang.Throwable)>(v, v, v);
label:
return;
catch java.io.IOException from label to label with label;
}
public int getWriteBufferSize()
{
org.glassfish.grizzly.nio.transport.UDPNIOConnection v;
java.io.IOException v;
java.util.logging.Logger v;
java.util.logging.Level v;
java.net.DatagramSocket v;
java.nio.channels.SelectableChannel v;
int v, v, v, v;
java.lang.String v;
v := @this: org.glassfish.grizzly.nio.transport.UDPNIOConnection;
v = v.<org.glassfish.grizzly.nio.transport.UDPNIOConnection: int writeBufferSize>;
if v < 0 goto label;
v = v.<org.glassfish.grizzly.nio.transport.UDPNIOConnection: int writeBufferSize>;
return v;
label:
v = v.<org.glassfish.grizzly.nio.transport.UDPNIOConnection: java.nio.channels.SelectableChannel channel>;
v = virtualinvoke v.<java.nio.channels.DatagramChannel: java.net.DatagramSocket socket()>();
v = virtualinvoke v.<java.net.DatagramSocket: int getSendBufferSize()>();
v.<org.glassfish.grizzly.nio.transport.UDPNIOConnection: int writeBufferSize> = v;
label:
goto label;
label:
v := @caughtexception;
v = <org.glassfish.grizzly.nio.transport.UDPNIOConnection: java.util.logging.Logger LOGGER>;
v = <java.util.logging.Level: java.util.logging.Level FINE>;
v = staticinvoke <org.glassfish.grizzly.localization.LogMessages: java.lang.String WARNING_GRIZZLY_CONNECTION_GET_WRITEBUFFER_SIZE_EXCEPTION()>();
virtualinvoke v.<java.util.logging.Logger: void log(java.util.logging.Level,java.lang.String,java.lang.Throwable)>(v, v, v);
v.<org.glassfish.grizzly.nio.transport.UDPNIOConnection: int writeBufferSize> = 0;
label:
v = v.<org.glassfish.grizzly.nio.transport.UDPNIOConnection: int writeBufferSize>;
return v;
catch java.io.IOException from label to label with label;
}
public void setWriteBufferSize(int)
{
org.glassfish.grizzly.nio.transport.UDPNIOConnection v;
java.io.IOException v;
java.util.logging.Logger v;
java.util.logging.Level v;
java.net.DatagramSocket v, v;
java.nio.channels.SelectableChannel v, v;
int v, v;
java.lang.String v;
v := @this: org.glassfish.grizzly.nio.transport.UDPNIOConnection;
v := @parameter: int;
if v <= 0 goto label;
label:
v = v.<org.glassfish.grizzly.nio.transport.UDPNIOConnection: java.nio.channels.SelectableChannel channel>;
v = virtualinvoke v.<java.nio.channels.DatagramChannel: java.net.DatagramSocket socket()>();
v = virtualinvoke v.<java.net.DatagramSocket: int getSendBufferSize()>();
if v <= v goto label;
v = v.<org.glassfish.grizzly.nio.transport.UDPNIOConnection: java.nio.channels.SelectableChannel channel>;
v = virtualinvoke v.<java.nio.channels.DatagramChannel: java.net.DatagramSocket socket()>();
virtualinvoke v.<java.net.DatagramSocket: void setSendBufferSize(int)>(v);
label:
v.<org.glassfish.grizzly.nio.transport.UDPNIOConnection: int writeBufferSize> = v;
label:
goto label;
label:
v := @caughtexception;
v = <org.glassfish.grizzly.nio.transport.UDPNIOConnection: java.util.logging.Logger LOGGER>;
v = <java.util.logging.Level: java.util.logging.Level WARNING>;
v = staticinvoke <org.glassfish.grizzly.localization.LogMessages: java.lang.String WARNING_GRIZZLY_CONNECTION_SET_WRITEBUFFER_SIZE_EXCEPTION()>();
virtualinvoke v.<java.util.logging.Logger: void log(java.util.logging.Level,java.lang.String,java.lang.Throwable)>(v, v, v);
label:
return;
catch java.io.IOException from label to label with label;
}
protected void enableInitialOpRead() throws java.io.IOException
{
org.glassfish.grizzly.nio.transport.UDPNIOConnection v;
v := @this: org.glassfish.grizzly.nio.transport.UDPNIOConnection;
specialinvoke v.<org.glassfish.grizzly.nio.NIOConnection: void enableInitialOpRead()>();
return;
}
protected final void onConnect() throws java.io.IOException
{
org.glassfish.grizzly.nio.transport.UDPNIOConnection v;
v := @this: org.glassfish.grizzly.nio.transport.UDPNIOConnection;
staticinvoke <org.glassfish.grizzly.nio.transport.UDPNIOConnection: void notifyProbesConnect(org.glassfish.grizzly.nio.NIOConnection)>(v);
return;
}
protected final void onRead(org.glassfish.grizzly.Buffer, int)
{
int v;
org.glassfish.grizzly.Buffer v;
org.glassfish.grizzly.nio.transport.UDPNIOConnection v;
v := @this: org.glassfish.grizzly.nio.transport.UDPNIOConnection;
v := @parameter: org.glassfish.grizzly.Buffer;
v := @parameter: int;
if v <= 0 goto label;
staticinvoke <org.glassfish.grizzly.nio.transport.UDPNIOConnection: void notifyProbesRead(org.glassfish.grizzly.nio.NIOConnection,org.glassfish.grizzly.Buffer,int)>(v, v, v);
label:
virtualinvoke v.<org.glassfish.grizzly.nio.transport.UDPNIOConnection: void checkEmptyRead(int)>(v);
return;
}
protected final void onWrite(org.glassfish.grizzly.Buffer, int)
{
int v;
org.glassfish.grizzly.Buffer v;
org.glassfish.grizzly.nio.transport.UDPNIOConnection v;
v := @this: org.glassfish.grizzly.nio.transport.UDPNIOConnection;
v := @parameter: org.glassfish.grizzly.Buffer;
v := @parameter: int;
staticinvoke <org.glassfish.grizzly.nio.transport.UDPNIOConnection: void notifyProbesWrite(org.glassfish.grizzly.nio.NIOConnection,org.glassfish.grizzly.Buffer,long)>(v, v, v);
return;
}
public boolean canWrite()
{
org.glassfish.grizzly.Writer v;
org.glassfish.grizzly.nio.transport.UDPNIOConnection v;
org.glassfish.grizzly.nio.NIOTransport v;
boolean v;
v := @this: org.glassfish.grizzly.nio.transport.UDPNIOConnection;
v = v.<org.glassfish.grizzly.nio.transport.UDPNIOConnection: org.glassfish.grizzly.nio.NIOTransport transport>;
v = virtualinvoke v.<org.glassfish.grizzly.nio.NIOTransport: org.glassfish.grizzly.Writer getWriter(org.glassfish.grizzly.Connection)>(v);
v = interfaceinvoke v.<org.glassfish.grizzly.Writer: boolean canWrite(org.glassfish.grizzly.Connection)>(v);
return v;
}
public boolean canWrite(int)
{
org.glassfish.grizzly.Writer v;
org.glassfish.grizzly.nio.transport.UDPNIOConnection v;
org.glassfish.grizzly.nio.NIOTransport v;
int v;
boolean v;
v := @this: org.glassfish.grizzly.nio.transport.UDPNIOConnection;
v := @parameter: int;
v = v.<org.glassfish.grizzly.nio.transport.UDPNIOConnection: org.glassfish.grizzly.nio.NIOTransport transport>;
v = virtualinvoke v.<org.glassfish.grizzly.nio.NIOTransport: org.glassfish.grizzly.Writer getWriter(org.glassfish.grizzly.Connection)>(v);
v = interfaceinvoke v.<org.glassfish.grizzly.Writer: boolean canWrite(org.glassfish.grizzly.Connection)>(v);
return v;
}
public void notifyCanWrite(org.glassfish.grizzly.WriteHandler)
{
org.glassfish.grizzly.Writer v;
org.glassfish.grizzly.nio.transport.UDPNIOConnection v;
org.glassfish.grizzly.nio.NIOTransport v;
org.glassfish.grizzly.WriteHandler v;
v := @this: org.glassfish.grizzly.nio.transport.UDPNIOConnection;
v := @parameter: org.glassfish.grizzly.WriteHandler;
v = v.<org.glassfish.grizzly.nio.transport.UDPNIOConnection: org.glassfish.grizzly.nio.NIOTransport transport>;
v = virtualinvoke v.<org.glassfish.grizzly.nio.NIOTransport: org.glassfish.grizzly.Writer getWriter(org.glassfish.grizzly.Connection)>(v);
interfaceinvoke v.<org.glassfish.grizzly.Writer: void notifyWritePossible(org.glassfish.grizzly.Connection,org.glassfish.grizzly.WriteHandler)>(v, v);
return;
}
public void notifyCanWrite(org.glassfish.grizzly.WriteHandler, int)
{
org.glassfish.grizzly.Writer v;
org.glassfish.grizzly.nio.transport.UDPNIOConnection v;
org.glassfish.grizzly.nio.NIOTransport v;
int v;
org.glassfish.grizzly.WriteHandler v;
v := @this: org.glassfish.grizzly.nio.transport.UDPNIOConnection;
v := @parameter: org.glassfish.grizzly.WriteHandler;
v := @parameter: int;
v = v.<org.glassfish.grizzly.nio.transport.UDPNIOConnection: org.glassfish.grizzly.nio.NIOTransport transport>;
v = virtualinvoke v.<org.glassfish.grizzly.nio.NIOTransport: org.glassfish.grizzly.Writer getWriter(org.glassfish.grizzly.Connection)>(v);
interfaceinvoke v.<org.glassfish.grizzly.Writer: void notifyWritePossible(org.glassfish.grizzly.Connection,org.glassfish.grizzly.WriteHandler)>(v, v);
return;
}
void setMonitoringProbes(org.glassfish.grizzly.ConnectionProbe[])
{
org.glassfish.grizzly.monitoring.DefaultMonitoringConfig v;
org.glassfish.grizzly.ConnectionProbe[] v;
org.glassfish.grizzly.nio.transport.UDPNIOConnection v;
v := @this: org.glassfish.grizzly.nio.transport.UDPNIOConnection;
v := @parameter: org.glassfish.grizzly.ConnectionProbe[];
v = v.<org.glassfish.grizzly.nio.transport.UDPNIOConnection: org.glassfish.grizzly.monitoring.DefaultMonitoringConfig monitoringConfig>;
virtualinvoke v.<org.glassfish.grizzly.monitoring.DefaultMonitoringConfig: void addProbes(java.lang.Object[])>(v);
return;
}
public java.lang.String toString()
{
org.glassfish.grizzly.nio.transport.UDPNIOConnection v;
org.glassfish.grizzly.utils.Holder v, v;
java.lang.StringBuilder v, v, v;
java.lang.String v;
v := @this: org.glassfish.grizzly.nio.transport.UDPNIOConnection;
v = new java.lang.StringBuilder;
specialinvoke v.<java.lang.StringBuilder: void <init>()>();
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>("UDPNIOConnection");
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>("{localSocketAddress=");
v = v.<org.glassfish.grizzly.nio.transport.UDPNIOConnection: org.glassfish.grizzly.utils.Holder localSocketAddressHolder>;
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.Object)>(v);
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>(", peerSocketAddress=");
v = v.<org.glassfish.grizzly.nio.transport.UDPNIOConnection: org.glassfish.grizzly.utils.Holder peerSocketAddressHolder>;
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.Object)>(v);
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(char)>(125);
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.String toString()>();
return v;
}
private static java.lang.Object join0(java.nio.channels.DatagramChannel, java.net.InetAddress, java.net.NetworkInterface, java.net.InetAddress) throws java.io.IOException
{
java.lang.Object[] v, v;
java.nio.channels.DatagramChannel v;
java.net.NetworkInterface v;
java.net.InetAddress v, v;
java.lang.Object v;
java.lang.reflect.Method v, v;
v := @parameter: java.nio.channels.DatagramChannel;
v := @parameter: java.net.InetAddress;
v := @parameter: java.net.NetworkInterface;
v := @parameter: java.net.InetAddress;
if v != null goto label;
v = <org.glassfish.grizzly.nio.transport.UDPNIOConnection: java.lang.reflect.Method JOIN_METHOD>;
v = newarray (java.lang.Object)[2];
v[0] = v;
v[1] = v;
v = staticinvoke <org.glassfish.grizzly.nio.transport.UDPNIOConnection: java.lang.Object invoke(java.lang.Object,java.lang.reflect.Method,java.lang.Object[])>(v, v, v);
goto label;
label:
v = <org.glassfish.grizzly.nio.transport.UDPNIOConnection: java.lang.reflect.Method JOIN_WITH_SOURCE_METHOD>;
v = newarray (java.lang.Object)[3];
v[0] = v;
v[1] = v;
v[2] = v;
v = staticinvoke <org.glassfish.grizzly.nio.transport.UDPNIOConnection: java.lang.Object invoke(java.lang.Object,java.lang.reflect.Method,java.lang.Object[])>(v, v, v);
label:
return v;
}
private static java.net.NetworkInterface networkInterface0(java.lang.Object) throws java.io.IOException
{
java.lang.Object[] v;
java.lang.Object v, v;
java.lang.reflect.Method v;
v := @parameter: java.lang.Object;
v = <org.glassfish.grizzly.nio.transport.UDPNIOConnection: java.lang.reflect.Method MK_GET_NETWORK_INTERFACE_METHOD>;
v = newarray (java.lang.Object)[0];
v = staticinvoke <org.glassfish.grizzly.nio.transport.UDPNIOConnection: java.lang.Object invoke(java.lang.Object,java.lang.reflect.Method,java.lang.Object[])>(v, v, v);
return v;
}
private static java.net.InetAddress sourceAddress0(java.lang.Object) throws java.io.IOException
{
java.lang.Object[] v;
java.lang.Object v, v;
java.lang.reflect.Method v;
v := @parameter: java.lang.Object;
v = <org.glassfish.grizzly.nio.transport.UDPNIOConnection: java.lang.reflect.Method MK_GET_SOURCE_ADDRESS_METHOD>;
v = newarray (java.lang.Object)[0];
v = staticinvoke <org.glassfish.grizzly.nio.transport.UDPNIOConnection: java.lang.Object invoke(java.lang.Object,java.lang.reflect.Method,java.lang.Object[])>(v, v, v);
return v;
}
private static void drop0(java.lang.Object) throws java.io.IOException
{
java.lang.Object v;
java.lang.Object[] v;
java.lang.reflect.Method v;
v := @parameter: java.lang.Object;
v = <org.glassfish.grizzly.nio.transport.UDPNIOConnection: java.lang.reflect.Method MK_DROP_METHOD>;
v = newarray (java.lang.Object)[0];
staticinvoke <org.glassfish.grizzly.nio.transport.UDPNIOConnection: java.lang.Object invoke(java.lang.Object,java.lang.reflect.Method,java.lang.Object[])>(v, v, v);
return;
}
private static void block0(java.lang.Object, java.net.InetAddress) throws java.io.IOException
{
java.net.InetAddress v;
java.lang.Object[] v;
java.lang.Object v;
java.lang.reflect.Method v;
v := @parameter: java.lang.Object;
v := @parameter: java.net.InetAddress;
v = <org.glassfish.grizzly.nio.transport.UDPNIOConnection: java.lang.reflect.Method MK_BLOCK_METHOD>;
v = newarray (java.lang.Object)[1];
v[0] = v;
staticinvoke <org.glassfish.grizzly.nio.transport.UDPNIOConnection: java.lang.Object invoke(java.lang.Object,java.lang.reflect.Method,java.lang.Object[])>(v, v, v);
return;
}
private static void unblock0(java.lang.Object, java.net.InetAddress) throws java.io.IOException
{
java.net.InetAddress v;
java.lang.Object[] v;
java.lang.Object v;
java.lang.reflect.Method v;
v := @parameter: java.lang.Object;
v := @parameter: java.net.InetAddress;
v = <org.glassfish.grizzly.nio.transport.UDPNIOConnection: java.lang.reflect.Method MK_UNBLOCK_METHOD>;
v = newarray (java.lang.Object)[1];
v[0] = v;
staticinvoke <org.glassfish.grizzly.nio.transport.UDPNIOConnection: java.lang.Object invoke(java.lang.Object,java.lang.reflect.Method,java.lang.Object[])>(v, v, v);
return;
}
private static transient java.lang.Object invoke(java.lang.Object, java.lang.reflect.Method, java.lang.Object[]) throws java.io.IOException
{
java.lang.Throwable v, v;
java.lang.Object[] v;
java.io.IOException v, v;
java.lang.reflect.InvocationTargetException v;
java.lang.Object v, v;
java.lang.reflect.Method v;
boolean v;
v := @parameter: java.lang.Object;
v := @parameter: java.lang.reflect.Method;
v := @parameter: java.lang.Object[];
label:
v = virtualinvoke v.<java.lang.reflect.Method: java.lang.Object invoke(java.lang.Object,java.lang.Object[])>(v, v);
label:
return v;
label:
v := @caughtexception;
v = virtualinvoke v.<java.lang.reflect.InvocationTargetException: java.lang.Throwable getCause()>();
v = v instanceof java.lang.RuntimeException;
if v == 0 goto label;
throw v;
label:
v = staticinvoke <org.glassfish.grizzly.utils.Exceptions: java.io.IOException makeIOException(java.lang.Throwable)>(v);
throw v;
label:
v := @caughtexception;
v = staticinvoke <org.glassfish.grizzly.utils.Exceptions: java.io.IOException makeIOException(java.lang.Throwable)>(v);
throw v;
catch java.lang.reflect.InvocationTargetException from label to label with label;
catch java.lang.Throwable from label to label with label;
}
private static java.lang.Class loadClass(java.lang.String) throws java.lang.Throwable
{
java.lang.Class v;
java.lang.ClassLoader v;
java.lang.String v;
v := @parameter: java.lang.String;
v = staticinvoke <java.lang.ClassLoader: java.lang.ClassLoader getSystemClassLoader()>();
v = virtualinvoke v.<java.lang.ClassLoader: java.lang.Class loadClass(java.lang.String)>(v);
return v;
}
static void <clinit>()
{
java.lang.Throwable v;
java.util.logging.Level v;
int v;
java.lang.String v;
java.lang.reflect.Method v, v, v, v, v, v, v;
boolean v;
java.lang.Class[] v, v, v, v, v, v, v;
java.util.logging.Logger v, v;
org.glassfish.grizzly.utils.JdkVersion v, v;
java.lang.Class v, v, v;
v = staticinvoke <org.glassfish.grizzly.Grizzly: java.util.logging.Logger logger(java.lang.Class)>(class "Lorg/glassfish/grizzly/nio/transport/UDPNIOConnection;");
<org.glassfish.grizzly.nio.transport.UDPNIOConnection: java.util.logging.Logger LOGGER> = v;
v = staticinvoke <org.glassfish.grizzly.utils.JdkVersion: org.glassfish.grizzly.utils.JdkVersion getJdkVersion()>();
v = staticinvoke <org.glassfish.grizzly.utils.JdkVersion: org.glassfish.grizzly.utils.JdkVersion parseVersion(java.lang.String)>("1.7.0");
v = 0;
v = null;
v = null;
v = null;
v = null;
v = null;
v = null;
v = null;
v = virtualinvoke v.<org.glassfish.grizzly.utils.JdkVersion: int compareTo(org.glassfish.grizzly.utils.JdkVersion)>(v);
if v > 0 goto label;
label:
v = class "Ljava/nio/channels/DatagramChannel;";
v = newarray (java.lang.Class)[2];
v[0] = class "Ljava/net/InetAddress;";
v[1] = class "Ljava/net/NetworkInterface;";
v = virtualinvoke v.<java.lang.Class: java.lang.reflect.Method getMethod(java.lang.String,java.lang.Class[])>("join", v);
v = class "Ljava/nio/channels/DatagramChannel;";
v = newarray (java.lang.Class)[3];
v[0] = class "Ljava/net/InetAddress;";
v[1] = class "Ljava/net/NetworkInterface;";
v[2] = class "Ljava/net/InetAddress;";
v = virtualinvoke v.<java.lang.Class: java.lang.reflect.Method getMethod(java.lang.String,java.lang.Class[])>("join", v);
v = staticinvoke <org.glassfish.grizzly.nio.transport.UDPNIOConnection: java.lang.Class loadClass(java.lang.String)>("java.nio.channels.MembershipKey");
v = newarray (java.lang.Class)[0];
v = virtualinvoke v.<java.lang.Class: java.lang.reflect.Method getDeclaredMethod(java.lang.String,java.lang.Class[])>("networkInterface", v);
v = newarray (java.lang.Class)[0];
v = virtualinvoke v.<java.lang.Class: java.lang.reflect.Method getDeclaredMethod(java.lang.String,java.lang.Class[])>("sourceAddress", v);
v = newarray (java.lang.Class)[0];
v = virtualinvoke v.<java.lang.Class: java.lang.reflect.Method getDeclaredMethod(java.lang.String,java.lang.Class[])>("drop", v);
v = newarray (java.lang.Class)[1];
v[0] = class "Ljava/net/InetAddress;";
v = virtualinvoke v.<java.lang.Class: java.lang.reflect.Method getDeclaredMethod(java.lang.String,java.lang.Class[])>("block", v);
v = newarray (java.lang.Class)[1];
v[0] = class "Ljava/net/InetAddress;";
v = virtualinvoke v.<java.lang.Class: java.lang.reflect.Method getDeclaredMethod(java.lang.String,java.lang.Class[])>("unblock", v);
v = 1;
label:
goto label;
label:
v := @caughtexception;
v = <org.glassfish.grizzly.nio.transport.UDPNIOConnection: java.util.logging.Logger LOGGER>;
v = <java.util.logging.Level: java.util.logging.Level WARNING>;
v = staticinvoke <org.glassfish.grizzly.localization.LogMessages: java.lang.String WARNING_GRIZZLY_CONNECTION_UDPMULTICASTING_EXCEPTIONE()>();
virtualinvoke v.<java.util.logging.Logger: void log(java.util.logging.Level,java.lang.String,java.lang.Throwable)>(v, v, v);
label:
if v == 0 goto label;
<org.glassfish.grizzly.nio.transport.UDPNIOConnection: boolean IS_MULTICAST_SUPPORTED> = 1;
<org.glassfish.grizzly.nio.transport.UDPNIOConnection: java.lang.reflect.Method JOIN_METHOD> = v;
<org.glassfish.grizzly.nio.transport.UDPNIOConnection: java.lang.reflect.Method JOIN_WITH_SOURCE_METHOD> = v;
<org.glassfish.grizzly.nio.transport.UDPNIOConnection: java.lang.reflect.Method MK_GET_NETWORK_INTERFACE_METHOD> = v;
<org.glassfish.grizzly.nio.transport.UDPNIOConnection: java.lang.reflect.Method MK_GET_SOURCE_ADDRESS_METHOD> = v;
<org.glassfish.grizzly.nio.transport.UDPNIOConnection: java.lang.reflect.Method MK_DROP_METHOD> = v;
<org.glassfish.grizzly.nio.transport.UDPNIOConnection: java.lang.reflect.Method MK_BLOCK_METHOD> = v;
<org.glassfish.grizzly.nio.transport.UDPNIOConnection: java.lang.reflect.Method MK_UNBLOCK_METHOD> = v;
goto label;
label:
<org.glassfish.grizzly.nio.transport.UDPNIOConnection: boolean IS_MULTICAST_SUPPORTED> = 0;
<org.glassfish.grizzly.nio.transport.UDPNIOConnection: java.lang.reflect.Method MK_UNBLOCK_METHOD> = null;
<org.glassfish.grizzly.nio.transport.UDPNIOConnection: java.lang.reflect.Method MK_BLOCK_METHOD> = null;
<org.glassfish.grizzly.nio.transport.UDPNIOConnection: java.lang.reflect.Method MK_DROP_METHOD> = null;
<org.glassfish.grizzly.nio.transport.UDPNIOConnection: java.lang.reflect.Method MK_GET_SOURCE_ADDRESS_METHOD> = null;
<org.glassfish.grizzly.nio.transport.UDPNIOConnection: java.lang.reflect.Method MK_GET_NETWORK_INTERFACE_METHOD> = null;
<org.glassfish.grizzly.nio.transport.UDPNIOConnection: java.lang.reflect.Method JOIN_WITH_SOURCE_METHOD> = null;
<org.glassfish.grizzly.nio.transport.UDPNIOConnection: java.lang.reflect.Method JOIN_METHOD> = null;
label:
return;
catch java.lang.Throwable from label to label with label;
}
}