net.sf.jbaobab.io
Class AbstractManager<C extends SelectableChannel,T>

java.lang.Object
  extended by net.sf.jbaobab.io.AbstractManager<C,T>
All Implemented Interfaces:
Runnable, Manager<C,T>
Direct Known Subclasses:
ChannelReceiver, ChannelSender, ThreadedSocketPool, ThreadedSocketPreparer

public abstract class AbstractManager<C extends SelectableChannel,T>
extends Object
implements Manager<C,T>, Runnable

An abstract base implementation of Manager interface.

Author:
Oakyoon Cha

Constructor Summary
AbstractManager()
           
 
Method Summary
 T cancel(C channel)
           
protected  int interestOps(C channel)
           
protected  int interestOps(C channel, int ops)
           
protected abstract  void manage(SelectionKey key, T attach)
           
protected  SelectionKey register(C channel, T attach, int ops)
           
 void run()
           
 void shutdown()
           
 void start()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface net.sf.jbaobab.io.Manager
hold, register, release
 

Constructor Detail

AbstractManager

public AbstractManager()
                throws IOException
Throws:
IOException
Method Detail

register

protected SelectionKey register(C channel,
                                T attach,
                                int ops)

cancel

public T cancel(C channel)
Specified by:
cancel in interface Manager<C extends SelectableChannel,T>

interestOps

protected int interestOps(C channel)

interestOps

protected int interestOps(C channel,
                          int ops)

manage

protected abstract void manage(SelectionKey key,
                               T attach)

run

public void run()
Specified by:
run in interface Runnable

start

public void start()
Specified by:
start in interface Manager<C extends SelectableChannel,T>

shutdown

public void shutdown()
Specified by:
shutdown in interface Manager<C extends SelectableChannel,T>