Package com.tangosol.net
Class NonBlockingTcpDatagramSocket.Impl
- java.lang.Object
-
- java.net.DatagramSocketImpl
-
- com.tangosol.net.TcpDatagramSocket.Impl
-
- com.tangosol.net.NonBlockingTcpDatagramSocket.Impl
-
- All Implemented Interfaces:
SocketOptions
- Enclosing class:
- NonBlockingTcpDatagramSocket
public static class NonBlockingTcpDatagramSocket.Impl extends TcpDatagramSocket.Impl
A specialization ofTcpDatagramSocket.Impl
which provides non-blocking functionality, seesend(DatagramPacket)
.
-
-
Field Summary
-
Fields inherited from class com.tangosol.net.TcpDatagramSocket.Impl
HEADER_SIZE, PROTOCOL_MAGIC
-
Fields inherited from class java.net.DatagramSocketImpl
fd, localPort
-
Fields inherited from interface java.net.SocketOptions
IP_MULTICAST_IF, IP_MULTICAST_IF2, IP_MULTICAST_LOOP, IP_TOS, SO_BINDADDR, SO_BROADCAST, SO_KEEPALIVE, SO_LINGER, SO_OOBINLINE, SO_RCVBUF, SO_REUSEADDR, SO_REUSEPORT, SO_SNDBUF, SO_TIMEOUT, TCP_NODELAY
-
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected com.tangosol.net.TcpDatagramSocket.Impl.Connection
makeConnection(SocketAddress addr)
Produce a new Connection for the specified destination address.protected com.tangosol.net.TcpDatagramSocket.Impl.Connection
makeConnection(SocketChannel chan)
Make a connection from an existing channel.protected boolean
onConnectionHeader(com.tangosol.net.TcpDatagramSocket.Impl.ConnectionStatus status, SocketChannel chan)
Process a pending connection header.protected void
send(DatagramPacket packet)
-
Methods inherited from class com.tangosol.net.TcpDatagramSocket.Impl
bind, bind, close, closeInbound, closeOutbound, create, ensureConnection, ensureSocketException, getLocalPort, getOption, getTimeToLive, getTTL, join, joinGroup, leave, leaveGroup, logException, logProtocolWarning, nextKey, onAccept, onRead, peek, peekData, processRegistrations, provider, receive, scheduleRegistration, setOption, setPacketMagic, setTimeToLive, setTTL, toString, transferBytes
-
Methods inherited from class java.net.DatagramSocketImpl
connect, disconnect, getFileDescriptor, getOption, setOption, supportedOptions
-
-
-
-
Constructor Detail
-
Impl
public Impl() throws SocketException
Creates a new Impl.- Throws:
SocketException
- if any error happens during the bind, or if the port is unavailable
-
Impl
public Impl(com.oracle.coherence.common.net.SocketProvider provider) throws SocketException
Creates a new Impl using aprovider
.- Parameters:
provider
- theprovider
used to create internal sockets- Throws:
SocketException
- if any error happens during the bind, or if the port is unavailable
-
-
Method Detail
-
onConnectionHeader
protected boolean onConnectionHeader(com.tangosol.net.TcpDatagramSocket.Impl.ConnectionStatus status, SocketChannel chan) throws IOException
Process a pending connection header.- Overrides:
onConnectionHeader
in classTcpDatagramSocket.Impl
- Parameters:
status
- the associated ConnectionStatuschan
- the associated channel- Returns:
- true if EOS has been reached
- Throws:
IOException
- if an I/O error occurs
-
makeConnection
protected com.tangosol.net.TcpDatagramSocket.Impl.Connection makeConnection(SocketChannel chan) throws IOException
Make a connection from an existing channel.- Parameters:
chan
- the channel- Returns:
- the connection
- Throws:
IOException
- if an I/O error occurs
-
makeConnection
protected com.tangosol.net.TcpDatagramSocket.Impl.Connection makeConnection(SocketAddress addr) throws IOException
Produce a new Connection for the specified destination address.- Overrides:
makeConnection
in classTcpDatagramSocket.Impl
- Parameters:
addr
- the destination address- Returns:
- the corresponding connection
- Throws:
IOException
- if an I/O error occurs
-
send
protected void send(DatagramPacket packet) throws IOException
- Overrides:
send
in classTcpDatagramSocket.Impl
- Throws:
IOException
-
-