Mercurial > hg > RemoteEditor > REPSessionManager
view rep/channel/REPSocketChannel.java @ 144:0bf7f8d0f5f7
*** empty log message ***
author | pin |
---|---|
date | Wed, 27 Aug 2008 22:55:43 +0900 |
parents | 785a3e8ea858 |
children | ec625f8f8d7c |
line wrap: on
line source
package rep.channel; import java.io.IOException; import java.net.Socket; import java.nio.ByteBuffer; import java.nio.channels.ClosedChannelException; import java.nio.channels.SelectableChannel; import java.nio.channels.SelectionKey; import java.nio.channels.Selector; import java.nio.channels.SocketChannel; import java.nio.channels.ServerSocketChannel; import java.nio.channels.spi.SelectorProvider; public class REPSocketChannel<P> extends SelectableChannel{ private SocketChannel sc; public REPSocketChannel(SocketChannel channel) { sc = channel; } @Override public Object blockingLock() { return sc.blockingLock(); } @Override public SelectableChannel configureBlocking(boolean block) throws IOException { return sc.configureBlocking(block); } @Override public boolean isBlocking() { return sc.isBlocking(); } @Override public boolean isRegistered() { return sc.isRegistered(); } @Override public SelectionKey keyFor(Selector sel) { return sc.keyFor(sel); } @Override public SelectorProvider provider() { return sc.provider(); } @Override public SelectionKey register(Selector sel, int ops, Object att) throws ClosedChannelException { return sc.register(sel, ops, att); } @Override public int validOps() { return sc.validOps(); } @Override protected void implCloseChannel() throws IOException { sc.close(); } public long read(ByteBuffer header) { // TODO Auto-generated method stub return 0; } public void write(ByteBuffer buffer) throws IOException { // TODO Auto-generated method stub } public boolean finishConnect() { // TODO Auto-generated method stub return false; } public Socket socket() { // TODO Auto-generated method stub return null; } public void read(P p){ } public REPSocketChannel<P> create() throws IOException { if (REPServerSocketChannel.isSimulation) { return new ChannelSimulator<P>(null); } else { return new REPSocketChannel<P>(SocketChannel.open()); } } }