package com.limegroup.gnutella.io; import java.io.IOException; import java.net.Socket; import java.nio.channels.SocketChannel; public class StubConnectObserver implements ConnectObserver { private SocketChannel channel; private Socket socket; private IOException ioException; private boolean shutdown; public SocketChannel getChannel() throws IOException { if(channel == null) { channel = SocketChannel.open(); channel.configureBlocking(false); } return channel; } public synchronized void handleConnect(Socket socket) throws IOException { this.socket = socket; notify(); } public void handleIOException(IOException iox) { this.ioException = iox; } public synchronized void shutdown() { this.shutdown = true; notify(); } public IOException getIoException() { return ioException; } public boolean isShutdown() { return shutdown; } public Socket getSocket() { return socket; } public synchronized void waitForResponse(long timeout) throws Exception { wait(timeout); } }