Top Inners Fields Constructors Methods
jnr.unixsocket

public Class UnixDatagramChannel

extends AbstractNativeDatagramChannel
Class Inheritance
Imports
java.io.IOException, java.nio.ByteBuffer, java.nio.channels.ClosedChannelException, .DatagramChannel, .MembershipKey, .UnsupportedAddressTypeException, java.net.InetAddress, .NetworkInterface, .SocketAddress, .SocketException, .SocketOption, java.util.concurrent.locks.ReadWriteLock, .ReentrantReadWriteLock, java.util.Collections, .HashSet, .Set, jnr.constants.platform.ProtocolFamily, .Sock, jnr.unixsocket.impl.AbstractNativeDatagramChannel

Nested and Inner Type Summary

Modifier and TypeClass and Description
private static class
pack-priv static enum

Field Summary

Modifier and TypeField and Description
private final BindHandler
private UnixSocketAddress
private UnixSocketAddress
private UnixDatagramChannel.State
private final ReadWriteLock

Constructor Summary

AccessConstructor and Description
private
pack-priv
UnixDatagramChannel(ProtocolFamily domain, int protocol)

pack-priv
pack-priv
UnixDatagramChannel(int fd, UnixDatagramChannel.State initialState, boolean initialBoundState)

pack-priv

Method Summary

Modifier and TypeMethod and Description
public UnixDatagramChannel
bind(SocketAddress
The address to bind the socket, or null to bind the socket to an automatically assigned socket address
local
)

Implements abstract java.nio.channels.DatagramChannel.bind.

Implements java.nio.channels.NetworkChannel.bind.

Binds the channel's socket to a local address.
public UnixDatagramChannel
public DatagramChannel
connect(SocketAddress
The remote address to which this channel is to be connected
remote
)

Implements abstract java.nio.channels.DatagramChannel.connect.

Connects this channel's socket.
public UnixDatagramChannel
disconnect()

Implements abstract java.nio.channels.DatagramChannel.disconnect.

Disconnects this channel's socket.
public SocketAddress
getLocalAddress()

Implements abstract java.nio.channels.DatagramChannel.getLocalAddress.

Implements java.nio.channels.NetworkChannel.getLocalAddress.

Returns the socket address that this channel's socket is bound to.
public final UnixSocketAddress
public <T> T
getOption(SocketOption<T>
The socket option
name
)

Implements java.nio.channels.NetworkChannel.getOption.

Returns the value of a socket option.
public SocketAddress
getRemoteAddress()

Implements abstract java.nio.channels.DatagramChannel.getRemoteAddress.

Returns the remote address to which this channel's socket is connected.
public final UnixSocketAddress
pack-priv boolean
public boolean
isConnected()

Implements abstract java.nio.channels.DatagramChannel.isConnected.

Tells whether or not this channel's socket is connected.
public MembershipKey
join(InetAddress
The multicast address to join
group
,
NetworkInterface
The network interface on which to join the group
interf
)

Implements java.nio.channels.MulticastChannel.join.

Joins a multicast group to begin receiving all datagrams sent to the group, returning a membership key.
public MembershipKey
join(InetAddress
The multicast address to join
group
,
NetworkInterface
The network interface on which to join the group
interf
,
InetAddress
The source address
source
)

Implements java.nio.channels.MulticastChannel.join.

Joins a multicast group to begin receiving datagrams sent to the group from a given source address.
public static final UnixDatagramChannel
open()

Hides java.nio.channels.DatagramChannel.open.

Opens a datagram channel.
public static final UnixDatagramChannel
open(ProtocolFamily domain, int protocol)

public static final UnixDatagramChannel[]
pair()

public int
read(ByteBuffer
The buffer into which bytes are to be transferred
dst
)

Overrides jnr.unixsocket.impl.AbstractNativeDatagramChannel.read.

Implements java.nio.channels.ReadableByteChannel.read.

Reads a sequence of bytes from this channel into the given buffer.
public UnixSocketAddress
receive(ByteBuffer
The buffer into which the datagram is to be transferred
src
)

Implements abstract java.nio.channels.DatagramChannel.receive.

Receives a datagram via this channel.
public int
send(ByteBuffer
The buffer containing the datagram to be sent
src
,
SocketAddress
The address to which the datagram is to be sent
target
)

Implements abstract java.nio.channels.DatagramChannel.send.

Sends a datagram via this channel.
public <T> DatagramChannel
setOption(SocketOption<T>
The socket option
name
,
T
The value of the socket option. A value of null may be a valid value for some socket options.
value
)

Implements abstract java.nio.channels.DatagramChannel.setOption.

Implements java.nio.channels.NetworkChannel.setOption.

Sets the value of a socket option.
public UnixDatagramSocket
socket()

Implements abstract java.nio.channels.DatagramChannel.socket.

Retrieves a datagram socket associated with this channel.
public final Set<SocketOption<?>>
supportedOptions()

Implements java.nio.channels.NetworkChannel.supportedOptions.

Returns a set of the socket options supported by this channel.
public long
write(ByteBuffer[]
The buffers from which bytes are to be retrieved
srcs
,
int
The offset within the buffer array of the first buffer from which bytes are to be retrieved; must be non-negative and no larger than srcs.length
offset
,
int
The maximum number of buffers to be accessed; must be non-negative and no larger than srcs.length - offset
length
)

Overrides jnr.unixsocket.impl.AbstractNativeDatagramChannel.write.

Implements java.nio.channels.GatheringByteChannel.write.

Writes a datagram to this channel.
public int
write(ByteBuffer
The buffer from which bytes are to be retrieved
src
)

Overrides jnr.unixsocket.impl.AbstractNativeDatagramChannel.write.

Implements java.nio.channels.WritableByteChannel.write.

Writes a sequence of bytes to this channel from the given buffer.
Inherited from jnr.unixsocket.impl.AbstractNativeDatagramChannel:
getFDimplCloseSelectableChannelimplConfigureBlockingreadsetFD

Field Detail

bindHandlerback to summary
private final BindHandler bindHandler
localAddressback to summary
private UnixSocketAddress localAddress
remoteAddressback to summary
private UnixSocketAddress remoteAddress
stateback to summary
private UnixDatagramChannel.State state
stateLockback to summary
private final ReadWriteLock stateLock

Constructor Detail

UnixDatagramChannelback to summary
private UnixDatagramChannel() throws IOException
UnixDatagramChannelback to summary
pack-priv UnixDatagramChannel(ProtocolFamily domain, int protocol) throws IOException
UnixDatagramChannelback to summary
pack-priv UnixDatagramChannel(int fd)
UnixDatagramChannelback to summary
pack-priv UnixDatagramChannel(int fd, UnixDatagramChannel.State initialState, boolean initialBoundState)
UnixDatagramChannelback to summary
pack-priv UnixDatagramChannel(int fd, UnixSocketAddress remote) throws IOException

Method Detail

bindback to summary
public UnixDatagramChannel bind(SocketAddress local) throws IOException

Implements abstract java.nio.channels.DatagramChannel.bind.

Implements java.nio.channels.NetworkChannel.bind.

Doc from java.nio.channels.NetworkChannel.bind.

Binds the channel's socket to a local address.

This method is used to establish an association between the socket and a local address. Once an association is established then the socket remains bound until the channel is closed. If the local parameter has the value null then the socket will be bound to an address that is assigned automatically.

Parameters
local:SocketAddress

The address to bind the socket, or null to bind the socket to an automatically assigned socket address

Returns:UnixDatagramChannel

This channel

Annotations
@Override
Exceptions
IOException:

Doc from java.nio.channels.DatagramChannel.bind.

If some other I/O error occurs

connectback to summary
public UnixDatagramChannel connect(UnixSocketAddress remote)
connectback to summary
public DatagramChannel connect(SocketAddress remote) throws IOException

Implements abstract java.nio.channels.DatagramChannel.connect.

Doc from java.nio.channels.DatagramChannel.connect.

Connects this channel's socket.

The channel's socket is configured so that it only receives datagrams from, and sends datagrams to, the given remote peer address. Once connected, datagrams may not be received from or sent to any other address. Datagrams in the channel's socket receive buffer, which have not been received before invoking this method, may be discarded. The channel's socket remains connected until it is explicitly disconnected or until it is closed.

This method performs exactly the same security checks as the connect method of the java.net.DatagramSocket class. That is, if a security manager has been installed then this method verifies that its checkAccept and checkConnect methods permit datagrams to be received from and sent to, respectively, the given remote address. Once connected, no further security checks are performed for datagrams received from, or sent to, the given remote address. Care should be taken to ensure that a connected datagram channel is not shared with untrusted code.

This method may be invoked at any time. If another thread has already initiated a read or write operation upon this channel, then an invocation of this method will block until any such operation is complete. If this channel's socket is not bound then this method will first cause the socket to be bound to an address that is assigned automatically, as if invoking the bind method with a parameter of null.

Parameters
remote:SocketAddress

The remote address to which this channel is to be connected

Returns:DatagramChannel

This datagram channel

Annotations
@Override
Exceptions
IOException:
If some other I/O error occurs
disconnectback to summary
public UnixDatagramChannel disconnect() throws IOException

Implements abstract java.nio.channels.DatagramChannel.disconnect.

Doc from java.nio.channels.DatagramChannel.disconnect.

Disconnects this channel's socket.

The channel's socket is configured so that it can receive datagrams from, and sends datagrams to, any remote address so long as the security manager, if installed, permits it.

This method may be invoked at any time. If another thread has already initiated a read or write operation upon this channel, then an invocation of this method will block until any such operation is complete.

If this channel's socket is not connected, or if the channel is closed, then invoking this method has no effect.

Returns:UnixDatagramChannel

This datagram channel

Exceptions
IOException:
If some other I/O error occurs
getLocalAddressback to summary
public SocketAddress getLocalAddress() throws IOException

Implements abstract java.nio.channels.DatagramChannel.getLocalAddress.

Implements java.nio.channels.NetworkChannel.getLocalAddress.

Doc from java.nio.channels.DatagramChannel.getLocalAddress.

Returns the socket address that this channel's socket is bound to.

Where the channel is bound to an Internet Protocol socket address then the return value from this method is of type java.net.InetSocketAddress.

If the channel's socket was initially bound to the wildcard address and is now connected, then the address returned may be the local address selected as the source address for datagrams sent via this channel instead of the wildcard address. When disconnect is called, the bound address reverts to the wildcard address.

If there is a security manager set, its checkConnect method is called with the local address and -1 as its arguments to see if the operation is allowed. If the operation is not allowed, a SocketAddress representing the loopback address and the local port of the channel's socket is returned.

Returns:SocketAddress

The SocketAddress that the socket is bound to, or the SocketAddress representing the loopback address if denied by the security manager, or null if the channel's socket is not bound

Annotations
@Override
Exceptions
IOException:
If an I/O error occurs
getLocalSocketAddressback to summary
public final UnixSocketAddress getLocalSocketAddress()
getOptionback to summary
public <T> T getOption(SocketOption<T> name) throws IOException

Implements java.nio.channels.NetworkChannel.getOption.

Doc from java.nio.channels.NetworkChannel.getOption.

Returns the value of a socket option.

Parameters
<T>
The type of the socket option value
name:SocketOption<T>

The socket option

Returns:T

The value of the socket option. A value of null may be a valid value for some socket options.

Annotations
@Override
Exceptions
IOException:
If an I/O error occurs
getRemoteAddressback to summary
public SocketAddress getRemoteAddress() throws IOException

Implements abstract java.nio.channels.DatagramChannel.getRemoteAddress.

Doc from java.nio.channels.DatagramChannel.getRemoteAddress.

Returns the remote address to which this channel's socket is connected.

Returns:SocketAddress

The remote address; null if the channel's socket is not connected

Annotations
@Override
Exceptions
IOException:
If an I/O error occurs
getRemoteSocketAddressback to summary
public final UnixSocketAddress getRemoteSocketAddress()
isBoundback to summary
pack-priv boolean isBound()
isConnectedback to summary
public boolean isConnected()

Implements abstract java.nio.channels.DatagramChannel.isConnected.

Doc from java.nio.channels.DatagramChannel.isConnected.

Tells whether or not this channel's socket is connected.

Returns:boolean

true if, and only if, this channel's socket is open and connected

joinback to summary
public MembershipKey join(InetAddress group, NetworkInterface interf)

Implements java.nio.channels.MulticastChannel.join.

Doc from java.nio.channels.MulticastChannel.join.

Joins a multicast group to begin receiving all datagrams sent to the group, returning a membership key.

If this channel is currently a member of the group on the given interface to receive all datagrams then the membership key, representing that membership, is returned. Otherwise this channel joins the group and the resulting new membership key is returned. The resulting membership key is not source-specific.

A multicast channel may join several multicast groups, including the same group on more than one interface. An implementation may impose a limit on the number of groups that may be joined at the same time.

Parameters
group:InetAddress

The multicast address to join

interf:NetworkInterface

The network interface on which to join the group

Returns:MembershipKey

The membership key

Annotations
@Override
joinback to summary
public MembershipKey join(InetAddress group, NetworkInterface interf, InetAddress source)

Implements java.nio.channels.MulticastChannel.join.

Doc from java.nio.channels.MulticastChannel.join.

Joins a multicast group to begin receiving datagrams sent to the group from a given source address.

If this channel is currently a member of the group on the given interface to receive datagrams from the given source address then the membership key, representing that membership, is returned. Otherwise this channel joins the group and the resulting new membership key is returned. The resulting membership key is source-specific.

Membership is cumulative and this method may be invoked again with the same group and interface to allow receiving datagrams sent by other source addresses to the group.

Parameters
group:InetAddress

The multicast address to join

interf:NetworkInterface

The network interface on which to join the group

source:InetAddress

The source address

Returns:MembershipKey

The membership key

Annotations
@Override
openback to summary
public static final UnixDatagramChannel open() throws IOException

Hides java.nio.channels.DatagramChannel.open.

Doc from java.nio.channels.DatagramChannel.open.

Opens a datagram channel.

The new channel is created by invoking the openDatagramChannel method of the system-wide default java.nio.channels.spi.SelectorProvider object. The channel will not be connected.

The ProtocolFamily of the channel's socket is platform (and possibly configuration) dependent and therefore unspecified. The open allows the protocol family to be selected when opening a datagram channel, and should be used to open datagram channels that are intended for Internet Protocol multicasting.

Returns:UnixDatagramChannel

A new datagram channel

Exceptions
IOException:
If an I/O error occurs
openback to summary
public static final UnixDatagramChannel open(ProtocolFamily domain, int protocol) throws IOException
pairback to summary
public static final UnixDatagramChannel[] pair() throws IOException
readback to summary
public int read(ByteBuffer dst) throws IOException

Overrides jnr.unixsocket.impl.AbstractNativeDatagramChannel.read.

Implements java.nio.channels.ReadableByteChannel.read.

Doc from java.nio.channels.ReadableByteChannel.read.

Reads a sequence of bytes from this channel into the given buffer.

An attempt is made to read up to r bytes from the channel, where r is the number of bytes remaining in the buffer, that is, dst.remaining(), at the moment this method is invoked.

Suppose that a byte sequence of length n is read, where 0 <= n <= r. This byte sequence will be transferred into the buffer so that the first byte in the sequence is at index p and the last byte is at index p + n - 1, where p is the buffer's position at the moment this method is invoked. Upon return the buffer's position will be equal to p + n; its limit will not have changed.

A read operation might not fill the buffer, and in fact it might not read any bytes at all. Whether or not it does so depends upon the nature and state of the channel. A socket channel in non-blocking mode, for example, cannot read any more bytes than are immediately available from the socket's input buffer; similarly, a file channel cannot read any more bytes than remain in the file. It is guaranteed, however, that if a channel is in blocking mode and there is at least one byte remaining in the buffer then this method will block until at least one byte is read.

This method may be invoked at any time. If another thread has already initiated a read operation upon this channel, however, then an invocation of this method will block until the first operation is complete.

Parameters
dst:ByteBuffer

The buffer into which bytes are to be transferred

Returns:int

The number of bytes read, possibly zero, or -1 if the channel has reached end-of-stream

Annotations
@Override
Exceptions
IOException:
If some other I/O error occurs
receiveback to summary
public UnixSocketAddress receive(ByteBuffer src) throws IOException

Implements abstract java.nio.channels.DatagramChannel.receive.

Doc from java.nio.channels.DatagramChannel.receive.

Receives a datagram via this channel.

If a datagram is immediately available, or if this channel is in blocking mode and one eventually becomes available, then the datagram is copied into the given byte buffer and its source address is returned. If this channel is in non-blocking mode and a datagram is not immediately available then this method immediately returns null.

The datagram is transferred into the given byte buffer starting at its current position, as if by a regular read operation. If there are fewer bytes remaining in the buffer than are required to hold the datagram then the remainder of the datagram is silently discarded.

This method performs exactly the same security checks as the receive method of the java.net.DatagramSocket class. That is, if the socket is not connected to a specific remote address and a security manager has been installed then for each datagram received this method verifies that the source's address and port number are permitted by the security manager's checkAccept method. Datagrams that are not permitted by the security manager are silently discarded. The overhead of this security check can be avoided by first connecting the socket via the connect method.

This method may be invoked at any time. If another thread has already initiated a read operation upon this channel, however, then an invocation of this method will block until the first operation is complete. If this channel's socket is not bound then this method will first cause the socket to be bound to an address that is assigned automatically, as if invoking the bind method with a parameter of null.

Parameters
src:ByteBuffer

The buffer into which the datagram is to be transferred

Returns:UnixSocketAddress

The datagram's source address, or null if this channel is in non-blocking mode and no datagram was immediately available

Annotations
@Override
Exceptions
IOException:
If some other I/O error occurs
sendback to summary
public int send(ByteBuffer src, SocketAddress target) throws IOException

Implements abstract java.nio.channels.DatagramChannel.send.

Doc from java.nio.channels.DatagramChannel.send.

Sends a datagram via this channel.

If this channel is in non-blocking mode and there is sufficient room in the underlying output buffer, or if this channel is in blocking mode and sufficient room becomes available, then the remaining bytes in the given buffer are transmitted as a single datagram to the given target address.

The datagram is transferred from the byte buffer as if by a regular write operation.

This method performs exactly the same security checks as the send method of the java.net.DatagramSocket class. That is, if the socket is not connected to a specific remote address and a security manager has been installed then for each datagram sent this method verifies that the target address and port number are permitted by the security manager's checkConnect method. The overhead of this security check can be avoided by first connecting the socket via the connect method.

This method may be invoked at any time. If another thread has already initiated a write operation upon this channel, however, then an invocation of this method will block until the first operation is complete. If this channel's socket is not bound then this method will first cause the socket to be bound to an address that is assigned automatically, as if by invoking the bind method with a parameter of null.

Parameters
src:ByteBuffer

The buffer containing the datagram to be sent

target:SocketAddress

The address to which the datagram is to be sent

Returns:int

The number of bytes sent, which will be either the number of bytes that were remaining in the source buffer when this method was invoked or, if this channel is non-blocking, may be zero if there was insufficient room for the datagram in the underlying output buffer

Annotations
@Override
Exceptions
IOException:
If some other I/O error occurs
setOptionback to summary
public <T> DatagramChannel setOption(SocketOption<T> name, T value) throws IOException

Implements abstract java.nio.channels.DatagramChannel.setOption.

Implements java.nio.channels.NetworkChannel.setOption.

Doc from java.nio.channels.NetworkChannel.setOption.

Sets the value of a socket option.

Parameters
<T>
The type of the socket option value
name:SocketOption<T>

The socket option

value:T

The value of the socket option. A value of null may be a valid value for some socket options.

Returns:DatagramChannel

This channel

Annotations
@Override
Exceptions
IOException:

Doc from java.nio.channels.DatagramChannel.setOption.

If an I/O error occurs

socketback to summary
public UnixDatagramSocket socket()

Implements abstract java.nio.channels.DatagramChannel.socket.

Doc from java.nio.channels.DatagramChannel.socket.

Retrieves a datagram socket associated with this channel.

Returns:UnixDatagramSocket

A datagram socket associated with this channel

Annotations
@Override
supportedOptionsback to summary
public final Set<SocketOption<?>> supportedOptions()

Implements java.nio.channels.NetworkChannel.supportedOptions.

Doc from java.nio.channels.NetworkChannel.supportedOptions.

Returns a set of the socket options supported by this channel.

This method will continue to return the set of options even after the channel has been closed.

Returns:Set<SocketOption<?>>

A set of the socket options supported by this channel

Annotations
@Override
writeback to summary
public long write(ByteBuffer[] srcs, int offset, int length) throws IOException

Overrides jnr.unixsocket.impl.AbstractNativeDatagramChannel.write.

Implements java.nio.channels.GatheringByteChannel.write.

Doc from java.nio.channels.DatagramChannel.write.

Writes a datagram to this channel.

This method may only be invoked if this channel's socket is connected, in which case it sends datagrams directly to the socket's peer. Otherwise it behaves exactly as specified in the GatheringByteChannel interface.

Parameters
srcs:ByteBuffer[]

Doc from java.nio.channels.GatheringByteChannel.write.

The buffers from which bytes are to be retrieved

offset:int

Doc from java.nio.channels.GatheringByteChannel.write.

The offset within the buffer array of the first buffer from which bytes are to be retrieved; must be non-negative and no larger than srcs.length

length:int

Doc from java.nio.channels.GatheringByteChannel.write.

The maximum number of buffers to be accessed; must be non-negative and no larger than srcs.length - offset

Returns:long

The number of bytes sent, which will be either the number of bytes that were remaining in the source buffer when this method was invoked or, if this channel is non-blocking, may be zero if there was insufficient room for the datagram in the underlying output buffer

Annotations
@Override
Exceptions
IOException:

Doc from java.nio.channels.GatheringByteChannel.write.

If some other I/O error occurs

writeback to summary
public int write(ByteBuffer src) throws IOException

Overrides jnr.unixsocket.impl.AbstractNativeDatagramChannel.write.

Implements java.nio.channels.WritableByteChannel.write.

Doc from java.nio.channels.WritableByteChannel.write.

Writes a sequence of bytes to this channel from the given buffer.

An attempt is made to write up to r bytes to the channel, where r is the number of bytes remaining in the buffer, that is, src.remaining(), at the moment this method is invoked.

Suppose that a byte sequence of length n is written, where 0 <= n <= r. This byte sequence will be transferred from the buffer starting at index p, where p is the buffer's position at the moment this method is invoked; the index of the last byte written will be p + n - 1. Upon return the buffer's position will be equal to p + n; its limit will not have changed.

Unless otherwise specified, a write operation will return only after writing all of the r requested bytes. Some types of channels, depending upon their state, may write only some of the bytes or possibly none at all. A socket channel in non-blocking mode, for example, cannot write any more bytes than are free in the socket's output buffer.

This method may be invoked at any time. If another thread has already initiated a write operation upon this channel, however, then an invocation of this method will block until the first operation is complete.

Parameters
src:ByteBuffer

The buffer from which bytes are to be retrieved

Returns:int

The number of bytes written, possibly zero

Annotations
@Override
Exceptions
IOException:
If some other I/O error occurs
jnr.unixsocket back to summary

private Class UnixDatagramChannel.DefaultOptionsHolder

extends Object
Class Inheritance

Field Summary

Modifier and TypeField and Description
pack-priv static final Set<SocketOption<?>>

Constructor Summary

AccessConstructor and Description
private

Method Summary

Modifier and TypeMethod and Description
private static Set<SocketOption<?>>
Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

Field Detail

defaultOptionsback to summary
pack-priv static final Set<SocketOption<?>> defaultOptions

Constructor Detail

DefaultOptionsHolderback to summary
private DefaultOptionsHolder()

Method Detail

defaultOptionsback to summary
private static Set<SocketOption<?>> defaultOptions()
jnr.unixsocket back to summary

pack-priv final Enum UnixDatagramChannel.State

extends Enum<UnixDatagramChannel.State>
Class Inheritance

Field Summary

Modifier and TypeField and Description
public static final UnixDatagramChannel.State
public static final UnixDatagramChannel.State
public static final UnixDatagramChannel.State

Constructor Summary

AccessConstructor and Description
private

Method Summary

Modifier and TypeMethod and Description
public static UnixDatagramChannel.State
public static UnixDatagramChannel.State[]
Inherited from java.lang.Enum:
clonecompareTodescribeConstableequalsfinalizegetDeclaringClasshashCodenameordinaltoStringvalueOf

Field Detail

CONNECTEDback to summary
public static final UnixDatagramChannel.State CONNECTED
IDLEback to summary
public static final UnixDatagramChannel.State IDLE
UNINITIALIZEDback to summary
public static final UnixDatagramChannel.State UNINITIALIZED

Constructor Detail

Stateback to summary
private State()

Method Detail

valueOfback to summary
public static UnixDatagramChannel.State valueOf(String name)
valuesback to summary
public static UnixDatagramChannel.State[] values()