- All Known Implementing Classes:
AbstractIpModem
,HttpClientModem
,HttpServerModem
,MqttSocketModem
,WebSocketModem
public interface IpModem<I,O>
Network socket binding that provides asynchronous I/O decoders and encoders
for a non-blocking NIO network channel.
An IpModem
interfaces with the underlying asynchronous networking
system via an IpModemContext
. The modem context invokes I/O
callbacks on the IpModem
when the underlying network socket is
ready to perform I/O operations permitted by the socket context's FlowControl
.
-
Method Summary
Modifier and TypeMethodDescriptionvoid
Lifecycle callback invoked by the modem context after it hasbecome
a newsocket
implementation.void
Lifecycle callback invoked by the modem context after the underlying network socket has opened a connection.void
Lifecycle callback invoked by the socket context after the underlying network connection has disconnected.void
Lifecycle callback invoked by the modem context when the underlying network socket fails by throwing anerror
.void
I/O callback invoked by the modem context with the completed value of the current readDecoder
after it has transitioned to the done state.void
Lifecycle callback invoked by the modem context after the underlying network socket has established a secure connection.void
Lifecycle callback invoked by the modem context after the underlying network connection has timed out.void
I/O callback invoked by the modem context with the completed value of the current writeEncoder
after it has transitioned to the done state.void
doRead()
void
doWrite()
long
Returns the number of idle milliseconds after which thisIpModem
should be closed due to inactivity.Returns the socket modem context to which thisIpModem
is bound; returnsnull
if thisIpModem
is unbound.void
setIpModemContext
(IpModemContext<I, O> context) Sets the socket modem context to which thisIpModem
is bound.void
willBecome
(IpSocket socket) Lifecycle callback invoked by the modem context before it hasbecome
a newsocket
implementation.void
Lifecycle callback invoked by the modem context before the underlying network socket attempts to open a connection.void
Lifecycle callback invoked by the modem context before the underlying network socket establishes a secure connection.
-
Method Details
-
ipModemContext
IpModemContext<I,O> ipModemContext()Returns the socket modem context to which thisIpModem
is bound; returnsnull
if thisIpModem
is unbound. -
setIpModemContext
Sets the socket modem context to which thisIpModem
is bound. -
idleTimeout
long idleTimeout()Returns the number of idle milliseconds after which thisIpModem
should be closed due to inactivity. Returns-1
if a default idle timeout should be used. Returns0
if the underlying network socket should not time out. -
doRead
void doRead()I/O callback invoked by the modem context asking thisIpModem
to provide an inputDecoder
by invoking the modem context'sread
method. The modem context will asynchronously feed input data to the provided readDecoder
until it transitions out of the cont state. The read flow control of the underlying network socket is automatically managed by the modem context using the state of the readDecoder
. May be invoked concurrently to other I/O callbacks, but never concurrently with otherdoRead
ordidRead
calls. -
didRead
I/O callback invoked by the modem context with the completed value of the current readDecoder
after it has transitioned to the done state. May be invoked concurrently to other I/O callbacks, but never concurrently with otherdoRead
ordidRead
calls. -
doWrite
void doWrite()I/O callback invoked by the modem context asking thisIpModem
to provide an outputEncoder
by invoking the modem context'swrite
method. The modem context will asynchronously pull output data from the provided writeEncoder
until it transitions out of the cont state. The write flow control of the underlying network socket is automatically managed by the modem context using the state of the writeEncoder
. May be invoked concurrently to other I/O callbacks, but never concurrently with otherdoWrite
ordidWrite
calls. -
didWrite
I/O callback invoked by the modem context with the completed value of the current writeEncoder
after it has transitioned to the done state. May be invoked concurrently to other I/O callbacks, but never concurrently with otherdodWrite
ordidWrite
calls. -
willConnect
void willConnect()Lifecycle callback invoked by the modem context before the underlying network socket attempts to open a connection. -
didConnect
void didConnect()Lifecycle callback invoked by the modem context after the underlying network socket has opened a connection. -
willSecure
void willSecure()Lifecycle callback invoked by the modem context before the underlying network socket establishes a secure connection. -
didSecure
void didSecure()Lifecycle callback invoked by the modem context after the underlying network socket has established a secure connection. -
willBecome
Lifecycle callback invoked by the modem context before it hasbecome
a newsocket
implementation. -
didBecome
Lifecycle callback invoked by the modem context after it hasbecome
a newsocket
implementation. -
didTimeout
void didTimeout()Lifecycle callback invoked by the modem context after the underlying network connection has timed out. The modem will automatically be closed. -
didDisconnect
void didDisconnect()Lifecycle callback invoked by the socket context after the underlying network connection has disconnected. -
didFail
Lifecycle callback invoked by the modem context when the underlying network socket fails by throwing anerror
. The modem will automatically be closed.
-