/** * */ package org.limewire.http; import java.io.IOException; import java.net.Socket; import java.net.SocketAddress; import java.nio.ByteBuffer; import java.nio.channels.SocketChannel; class StubChannel extends SocketChannel { private boolean connect; private SocketAddress connectAddr; private boolean finishConnect; private boolean connected; private boolean connectionPending; private Socket socket; private volatile int readyOps; StubChannel() { super(null); try { configureBlocking(false); } catch(IOException err) { throw new RuntimeException(err); } } @Override public boolean connect(SocketAddress remote) throws IOException { this.connectAddr = remote; return connect; } @Override public boolean finishConnect() throws IOException { this.finishConnect = true; return true; } @Override public boolean isConnected() { return connected; } @Override public boolean isConnectionPending() { return connectionPending; } @Override public int read(ByteBuffer dst) throws IOException { return 0; } @Override public long read(ByteBuffer[] dsts, int offset, int length) throws IOException { return 0; } @Override public Socket socket() { return socket; } public void setSocket(Socket socket) { this.socket = socket; } @Override public int write(ByteBuffer src) throws IOException { return 0; } @Override public long write(ByteBuffer[] srcs, int offset, int length) throws IOException { return 0; } @Override protected void implCloseSelectableChannel() throws IOException { } @Override protected void implConfigureBlocking(boolean block) throws IOException { } public SocketAddress getConnectAddr() { return connectAddr; } public boolean isFinishConnect() { return finishConnect; } public void setConnect(boolean connect) { this.connect = connect; } public void setConnected(boolean connected) { this.connected = connected; } public void setConnectionPending(boolean connectionPending) { this.connectionPending = connectionPending; } public int readyOps() { return readyOps; } public void setReadyOps(int readyOps) { this.readyOps = readyOps; } }