-
- 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 anIpModemContext
. The modem context invokes I/O callbacks on theIpModem
when the underlying network socket is ready to perform I/O operations permitted by the socket context'sFlowControl
.
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description void
didBecome(IpSocket socket)
Lifecycle callback invoked by the modem context after it hasbecome
a newsocket
implementation.void
didConnect()
Lifecycle callback invoked by the modem context after the underlying network socket has opened a connection.void
didDisconnect()
Lifecycle callback invoked by the socket context after the underlying network connection has disconnected.void
didFail(Throwable error)
Lifecycle callback invoked by the modem context when the underlying network socket fails by throwing anerror
.void
didRead(I input)
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
didSecure()
Lifecycle callback invoked by the modem context after the underlying network socket has established a secure connection.void
didTimeout()
Lifecycle callback invoked by the modem context after the underlying network connection has timed out.void
didWrite(O output)
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
idleTimeout()
Returns the number of idle milliseconds after which thisIpModem
should be closed due to inactivity.IpModemContext<I,O>
ipModemContext()
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
willConnect()
Lifecycle callback invoked by the modem context before the underlying network socket attempts to open a connection.void
willSecure()
Lifecycle callback invoked by the modem context before the underlying network socket establishes a secure connection.
-
-
-
Method Detail
-
ipModemContext
IpModemContext<I,O> ipModemContext()
Returns the socket modem context to which thisIpModem
is bound; returnsnull
if thisIpModem
is unbound.
-
setIpModemContext
void setIpModemContext(IpModemContext<I,O> context)
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
void didRead(I input)
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
void didWrite(O output)
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
void willBecome(IpSocket socket)
Lifecycle callback invoked by the modem context before it hasbecome
a newsocket
implementation.
-
didBecome
void didBecome(IpSocket socket)
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
void didFail(Throwable error)
Lifecycle callback invoked by the modem context when the underlying network socket fails by throwing anerror
. The modem will automatically be closed.
-
-