naga
public interface SocketObserver
All callbacks will be run on the NIOService-thread, so callbacks should try to return as quickly as possible since the callback blocks communication on all sockets of the service.
Modifier and Type | Field and Description |
---|---|
static SocketObserver |
NULL
A null object used as the default observer
|
Modifier and Type | Method and Description |
---|---|
void |
connectionBroken(NIOSocket nioSocket,
java.lang.Exception exception)
Called by the NIOService on the NIO thread when a connection is disconnected.
|
void |
connectionOpened(NIOSocket nioSocket)
Called by the NIOService on the NIO thread when a connection completes on a socket.
|
void |
packetReceived(NIOSocket socket,
byte[] packet)
Called by the NIOService on the NIO thread when a packet is finished reading.
|
static final SocketObserver NULL
void connectionOpened(NIOSocket nioSocket)
Note: Since this is a direct callback on the NIO thread, this method will suspend IO on all other connections until the method returns. It is therefore strongly recommended that the implementation of this method returns as quickly as possible to avoid blocking IO.
nioSocket
- the socket that completed its connect.void connectionBroken(NIOSocket nioSocket, java.lang.Exception exception)
This may be sent even if a connectionOpened(NIOSocket)
wasn't ever called, since the connect itself may
fail.
Note: Since this is a direct callback on the NIO thread, this method will suspend IO on all other connections until the method returns. It is therefore strongly recommended that the implementation of this method returns as quickly as possible to avoid blocking IO.
nioSocket
- the socket that was disconnected.exception
- the exception that caused the connection to break, may be null.void packetReceived(NIOSocket socket, byte[] packet)
Note: Since this is a direct callback on the NIO thread, this method will suspend IO on all other connections until the method returns. It is therefore strongly recommended that the implementation of this method returns as quickly as possible to avoid blocking IO.
socket
- the socket we received a packet on.packet
- the packet we received.