public final class UDPNIOTransport extends NIOTransport implements FilterChainEnabledTransport
Modifier and Type | Class and Description |
---|---|
protected class |
UDPNIOTransport.RegisterChannelCompletionHandler |
protected class |
UDPNIOTransport.TransportConnectorHandler
Transport default
UDPNIOConnectorHandler . |
Transport.State
Modifier and Type | Field and Description |
---|---|
protected AsyncQueueIO<SocketAddress> |
asyncQueueIO
Transport AsyncQueueIO
|
protected UDPNIOTransport.RegisterChannelCompletionHandler |
registerChannelCompletionHandler |
protected Collection<UDPNIOServerConnection> |
serverConnections
The Server connections.
|
DEFAULT_CLIENT_SOCKET_SO_TIMEOUT, DEFAULT_CONNECTION_TIMEOUT, DEFAULT_OPTIMIZED_FOR_MULTIPLEXING, DEFAULT_REUSE_ADDRESS, DEFAULT_SELECTOR_RUNNER_COUNT, DEFAULT_SERVER_SOCKET_SO_TIMEOUT, nioChannelDistributor, selectionKeyHandler, selectorHandler, selectorProvider, selectorRunners, shutdownFuture, shutdownListeners, shutdownService, temporarySelectorIO
attributeBuilder, connectionMonitoringConfig, isBlocking, isStandalone, kernelPool, kernelPoolConfig, managedWorkerPool, memoryManager, name, processor, processorSelector, readBufferSize, readTimeout, state, strategy, threadPoolMonitoringConfig, transportMonitoringConfig, workerPoolConfig, workerThreadPool, writeBufferSize, writeTimeout
DEFAULT_READ_BUFFER_SIZE, DEFAULT_READ_TIMEOUT, DEFAULT_WRITE_BUFFER_SIZE, DEFAULT_WRITE_TIMEOUT
Constructor and Description |
---|
UDPNIOTransport() |
UDPNIOTransport(String name) |
Modifier and Type | Method and Description |
---|---|
boolean |
addShutdownListener(GracefulShutdownListener shutdownListener)
Adds a
GracefulShutdownListener which will be called when Transport.shutdown()
is called to enable graceful shutdown of transports. |
UDPNIOServerConnection |
bind(int port)
Binds Transport to the specific port on localhost.
|
UDPNIOServerConnection |
bind(SocketAddress socketAddress)
Binds Transport to the specific SocketAddress.
|
UDPNIOServerConnection |
bind(SocketAddress socketAddress,
int backlog)
Binds Transport to the specific SocketAddress.
|
UDPNIOServerConnection |
bind(String host,
int port)
Binds Transport to the specific host and port.
|
UDPNIOServerConnection |
bind(String host,
int port,
int backlog)
Binds Transport to the specific host and port.
|
UDPNIOServerConnection |
bind(String host,
PortRange portRange,
int backlog)
Binds Transport to the specific host, and port within a
PortRange . |
Connection |
bindToInherited()
Binds the Transport to the channel inherited from the entity that
created this Java virtual machine.
|
protected void |
closeConnection(Connection connection)
Close the connection, managed by Transport
|
void |
configureStandalone(boolean isStandalone) |
GrizzlyFuture<Connection> |
connect()
Creates non-connected UDP
Connection . |
GrizzlyFuture<Connection> |
connect(SocketAddress remoteAddress)
Creates, initializes and connects socket to the specific
SocketAddress and returns Connection , representing socket. |
void |
connect(SocketAddress remoteAddress,
CompletionHandler<Connection> completionHandler)
Creates, initializes and connects socket to the specific
SocketAddress and returns Connection , representing socket. |
GrizzlyFuture<Connection> |
connect(SocketAddress remoteAddress,
SocketAddress localAddress)
Creates, initializes socket, binds it to the specific local and remote
SocketAddress and returns Connection , representing socket. |
void |
connect(SocketAddress remoteAddress,
SocketAddress localAddress,
CompletionHandler<Connection> completionHandler)
Creates, initializes socket, binds it to the specific local and remote
SocketAddress and returns Connection , representing socket. |
GrizzlyFuture<Connection> |
connect(String host,
int port)
Creates, initializes and connects socket to the specific remote host
and port and returns
Connection , representing socket. |
protected Object |
createJmxManagementObject()
Create the Transport JMX management object.
|
protected TemporarySelectorIO |
createTemporarySelectorIO() |
void |
fireIOEvent(IOEvent ioEvent,
Connection connection,
IOEventProcessingHandler processingHandler)
Fires specific
IOEvent on the Connection |
AsyncQueueIO |
getAsyncQueueIO()
Get asynchronous queue implementation.
|
Reader |
getReader(boolean isBlocking)
Get the
Reader implementation, depending on the requested mode. |
Reader |
getReader(Connection connection)
Get the
Reader to read data from the Connection . |
TemporarySelectorIO |
getTemporarySelectorIO() |
Filter |
getTransportFilter()
Get transport
Filter , which is aware of Transport
specifics; knows how to read/write from/to Transport
specific Connection streams. |
Writer |
getWriter(boolean isBlocking)
Get the
Writer implementation, depending on the requested mode. |
Writer |
getWriter(Connection connection)
Get the
Writer to write data to the Connection . |
protected void |
listen() |
int |
read(UDPNIOConnection connection,
Buffer buffer) |
int |
read(UDPNIOConnection connection,
Buffer buffer,
ReadResult<Buffer,SocketAddress> currentResult) |
void |
unbind(Connection connection)
Unbinds bound
Transport connection. |
void |
unbindAll()
Unbinds all bound
Transport connections. |
long |
write(UDPNIOConnection connection,
SocketAddress dstAddress,
WritableMessage message) |
long |
write(UDPNIOConnection connection,
SocketAddress dstAddress,
WritableMessage message,
WriteResult<WritableMessage,SocketAddress> currentResult) |
configureNIOConnection, createShutdownExecutorService, finalizeShutdown, getClientSocketSoTimeout, getConnectionTimeout, getDefaultSelectorRunnersCount, getNIOChannelDistributor, getSelectionKeyHandler, getSelectorHandler, getSelectorProvider, getSelectorRunners, getSelectorRunnersCount, getServerSocketSoTimeout, isOptimizedForMultiplexing, isReuseAddress, notifyProbesError, notifyProbesPause, notifyProbesResume, notifyProbesStart, notifyProbesStop, notifyTransportError, pause, resume, setClientSocketSoTimeout, setConnectionTimeout, setNIOChannelDistributor, setOptimizedForMultiplexing, setReuseAddress, setSelectionKeyHandler, setSelectorHandler, setSelectorProvider, setSelectorRunnersCount, setServerSocketSoTimeout, shutdown, shutdown, shutdownNow, start, startSelectorRunners, stopSelectorRunners
configureBlocking, getAttributeBuilder, getConnectionMonitoringConfig, getIOStrategy, getKernelThreadPool, getKernelThreadPoolConfig, getMemoryManager, getMonitoringConfig, getName, getProcessor, getProcessorSelector, getReadBufferSize, getReadTimeout, getState, getThreadPoolMonitoringConfig, getWorkerThreadPool, getWorkerThreadPoolConfig, getWriteBufferSize, getWriteTimeout, isBlocking, isPaused, isStandalone, isStopped, notifyProbesBeforePause, notifyProbesBeforeResume, notifyProbesBeforeStart, notifyProbesBeforeStop, notifyProbesConfigChanged, notifyProbesPause, notifyProbesStop, obtainProcessor, setAttributeBuilder, setIOStrategy, setKernelPool0, setKernelThreadPool, setKernelThreadPoolConfig, setMemoryManager, setName, setProcessor, setProcessorSelector, setReadBufferSize, setReadTimeout, setWorkerThreadPool, setWorkerThreadPool0, setWorkerThreadPoolConfig, setWriteBufferSize, setWriteTimeout, stop
protected final Collection<UDPNIOServerConnection> serverConnections
protected final AsyncQueueIO<SocketAddress> asyncQueueIO
protected final UDPNIOTransport.RegisterChannelCompletionHandler registerChannelCompletionHandler
public UDPNIOTransport()
public UDPNIOTransport(String name)
protected TemporarySelectorIO createTemporarySelectorIO()
createTemporarySelectorIO
in class NIOTransport
protected void listen()
listen
in class NIOTransport
public boolean addShutdownListener(GracefulShutdownListener shutdownListener)
Transport
GracefulShutdownListener
which will be called when Transport.shutdown()
is called to enable graceful shutdown of transports. This allows the
owner of the listener to signal that all shutdown tasks are complete and
that it's safe to finalize the termination of the transportaddShutdownListener
in interface Transport
addShutdownListener
in class NIOTransport
shutdownListener
- the GracefulShutdownListener
true
if the listener was successfully registered,
otherwise false
. When this method returns false
it means one of two things: the transport is stopping or is stopped, or
the listener has already been registered.public UDPNIOServerConnection bind(int port) throws IOException
bind
in interface SocketBinder
Connection
IOException
public UDPNIOServerConnection bind(String host, int port) throws IOException
bind
in interface SocketBinder
host
- the local host the server will bind toConnection
IOException
public UDPNIOServerConnection bind(String host, int port, int backlog) throws IOException
bind
in interface SocketBinder
host
- the local host the server will bind tobacklog
- the maximum length of the queueConnection
IOException
public UDPNIOServerConnection bind(SocketAddress socketAddress) throws IOException
bind
in interface SocketBinder
socketAddress
- the local address the server will bind toConnection
IOException
public UDPNIOServerConnection bind(SocketAddress socketAddress, int backlog) throws IOException
bind
in interface SocketBinder
socketAddress
- the local address the server will bind tobacklog
- the maximum length of the queueConnection
IOException
public Connection bindToInherited() throws IOException
SocketBinder
bindToInherited
in interface SocketBinder
Connection
IOException
public UDPNIOServerConnection bind(String host, PortRange portRange, int backlog) throws IOException
PortRange
.bind
in interface SocketBinder
host
- the local host the server will bind toportRange
- PortRange
.backlog
- the maximum length of the queueConnection
IOException
public void unbind(Connection connection)
Transport
connection.unbind
in interface SocketBinder
connection
- Connection
public void unbindAll()
SocketBinder
Transport
connections.unbindAll
in interface SocketBinder
unbindAll
in class NIOTransport
public GrizzlyFuture<Connection> connect() throws IOException
Connection
.Connection
.IOException
public GrizzlyFuture<Connection> connect(String host, int port) throws IOException
Connection
, representing socket.connect
in interface SocketConnectorHandler
host
- remote host to connect to.port
- remote port to connect to.GrizzlyFuture
of connect operation, which could be used to get
resulting Connection
.IOException
public GrizzlyFuture<Connection> connect(SocketAddress remoteAddress)
SocketAddress
and returns Connection
, representing socket.connect
in interface ConnectorHandler<SocketAddress>
remoteAddress
- remote address to connect to.GrizzlyFuture
of connect operation, which could be used to get
resulting Connection
.IOException
public void connect(SocketAddress remoteAddress, CompletionHandler<Connection> completionHandler)
SocketAddress
and returns Connection
, representing socket.connect
in interface ConnectorHandler<SocketAddress>
remoteAddress
- remote address to connect to.completionHandler
- CompletionHandler
.public GrizzlyFuture<Connection> connect(SocketAddress remoteAddress, SocketAddress localAddress)
SocketAddress
and returns Connection
, representing socket.connect
in interface ConnectorHandler<SocketAddress>
remoteAddress
- remote address to connect to.localAddress
- local address to bind socket to.GrizzlyFuture
of connect operation, which could be used to get
resulting Connection
.public void connect(SocketAddress remoteAddress, SocketAddress localAddress, CompletionHandler<Connection> completionHandler)
SocketAddress
and returns Connection
, representing socket.connect
in interface ConnectorHandler<SocketAddress>
remoteAddress
- remote address to connect to.localAddress
- local address to bind socket to.completionHandler
- CompletionHandler
.protected void closeConnection(Connection connection) throws IOException
AbstractTransport
closeConnection
in class NIOTransport
IOException
public void configureStandalone(boolean isStandalone)
configureStandalone
in interface Transport
public Filter getTransportFilter()
FilterChainEnabledTransport
Filter
, which is aware of Transport
specifics; knows how to read/write from/to Transport
specific Connection
streams.
Each Transport
should provide transport Filter
implementation.getTransportFilter
in interface FilterChainEnabledTransport
Filter
, which is aware of Transport
specifics; knows how to read/write from/to Transport
specific Connection
s.public AsyncQueueIO getAsyncQueueIO()
AsyncQueueEnabledTransport
getAsyncQueueIO
in interface AsyncQueueEnabledTransport
public TemporarySelectorIO getTemporarySelectorIO()
getTemporarySelectorIO
in interface TemporarySelectorsEnabledTransport
getTemporarySelectorIO
in class NIOTransport
public void fireIOEvent(IOEvent ioEvent, Connection connection, IOEventProcessingHandler processingHandler)
Transport
IOEvent
on the Connection
fireIOEvent
in interface Transport
ioEvent
- I/O eventconnection
- Connection
, on which we fire the event.processingHandler
- I/O event processing handler.public Reader getReader(Connection connection)
Reader
to read data from the Connection
.
The Transport may decide to return blocking or non-blocking Reader
depending on the Connection
settings.getReader
in interface Transport
connection
- Connection
.Reader
.public Reader getReader(boolean isBlocking)
Reader
implementation, depending on the requested mode.public Writer getWriter(Connection connection)
Writer
to write data to the Connection
.
The Transport may decide to return blocking or non-blocking Writer
depending on the Connection
settings.getWriter
in interface Transport
connection
- Connection
.Writer
.public Writer getWriter(boolean isBlocking)
Writer
implementation, depending on the requested mode.public int read(UDPNIOConnection connection, Buffer buffer) throws IOException
IOException
public int read(UDPNIOConnection connection, Buffer buffer, ReadResult<Buffer,SocketAddress> currentResult) throws IOException
IOException
public long write(UDPNIOConnection connection, SocketAddress dstAddress, WritableMessage message) throws IOException
IOException
public long write(UDPNIOConnection connection, SocketAddress dstAddress, WritableMessage message, WriteResult<WritableMessage,SocketAddress> currentResult) throws IOException
IOException
protected Object createJmxManagementObject()
createJmxManagementObject
in class AbstractTransport
Copyright © 2014 Oracle Corporation. All rights reserved.