com.threerings.nio.conman
Interface NetEventHandler

All Known Implementing Classes:
AuthingConnection, Connection, PresentsConnection

public interface NetEventHandler

When a network event occurs, the connection manager calls the net event handler associated with that channel to process the event. There are only a few handlers (and probably only ever will be): the one that accepts new connections, the one that deals with a connection while the client is authenticating and the one that processes messages from authenticated connections.

Using this interface prevents us from having to do a bunch of inefficient and ugly comparisons; instead we can call through an interface method to the proper code.


Method Summary
 void becameIdle()
          Called if the handler is deemed to be idle.
 boolean checkIdle(long idleStamp)
          Called to ensure that this channel has not been idle for longer than is possible in happily operating circumstances.
 int handleEvent(long when)
          Called when a network event has occurred on this handler's source.
 

Method Detail

handleEvent

int handleEvent(long when)
Called when a network event has occurred on this handler's source.

Returns:
the number of bytes read from the network as a result of handling this event.

checkIdle

boolean checkIdle(long idleStamp)
Called to ensure that this channel has not been idle for longer than is possible in happily operating circumstances.

Parameters:
idleStamp - if the handler's last event occurred more recently than this timestamp, it should return false, otherwise true.
Returns:
true if the handler is idle (in which case it will be closed shortly), false if it is not.

becameIdle

void becameIdle()
Called if the handler is deemed to be idle. Should shutdown any associated connection and remove any registrations with the connection manager.