ServerSocketObserver
public class ChatServer extends java.lang.Object implements ServerSocketObserver
Run using java naga.examples.ChatServer [port]
Modifier and Type | Method | Description |
---|---|---|
void |
acceptFailed(java.io.IOException exception) |
Called by the NIOService on the NIO thread when an accept fails on the socket.
|
void |
broadcast(naga.examples.ChatServer.User sender,
java.lang.String string) |
|
EventMachine |
getEventMachine() |
|
static void |
main(java.lang.String... args) |
Runs the echo server.
|
void |
newConnection(NIOSocket nioSocket) |
Called by the NIOService on the NIO thread when a new connection has been accepted by the socket.
|
void |
serverSocketDied(java.lang.Exception exception) |
Called by the NIOService on the NIO thread when the server socket is closed.
|
public void acceptFailed(java.io.IOException exception)
ServerSocketObserver
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.
acceptFailed
in interface ServerSocketObserver
exception
- the reason for the failure, never null.public void serverSocketDied(java.lang.Exception exception)
ServerSocketObserver
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.
serverSocketDied
in interface ServerSocketObserver
exception
- the exception that caused the close, or null if this was
caused by an explicit close()
on the NIOServerSocket.public void newConnection(NIOSocket nioSocket)
ServerSocketObserver
The normal behaviour would be for the observer to assign a reader and a writer to the socket,
and then finally invoke NIOSocket#listen(SocketObserver)
on the socket.
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.
newConnection
in interface ServerSocketObserver
nioSocket
- the socket that was accepted.public void broadcast(naga.examples.ChatServer.User sender, java.lang.String string)
public static void main(java.lang.String... args)
args
- command line arguments, assumed to be a 1 length string containing a port.public EventMachine getEventMachine()