@Override public void bind(SocketAddress bindpoint) throws IOException { proxy.getProxySocket().bind(bindpoint); }
@Override public SocketAddress getRemoteSocketAddress() { return proxy.getProxySocket().getRemoteSocketAddress(); }
@Override public void setSoLinger(boolean on, int linger) throws SocketException { proxy.getProxySocket().setSoLinger(on, linger); }
@Override public synchronized int getSendBufferSize() throws SocketException { return proxy.getProxySocket().getSendBufferSize(); }
@Override public InputStream getInputStream() throws IOException { return proxy.getProxySocket().getInputStream(); }
@Override public void setKeepAlive(boolean on) throws SocketException { proxy.getProxySocket().setKeepAlive(on); }
@Override public void setReuseAddress(boolean on) throws SocketException { proxy.getProxySocket().setReuseAddress(on); }
@Override public void shutdownInput() throws IOException { proxy.getProxySocket().shutdownInput(); }
@Override public boolean isClosed() { return proxy.getProxySocket().isClosed(); }
@Override public void close() { super.close(); // Close TCP connection. try { if (!proxy.getProxySocket().isClosed()) { proxy.getProxySocket().close(); } } catch (IOException e) { logger.error(e.getMessage(), e); } }
@Override public void close() { super.close(); // Close TCP connection. try { if (!proxy.getProxySocket().isClosed()) { proxy.getProxySocket().close(); } } catch (IOException e) { logger.error(e.getMessage(), e); } }
@Override public void doMethod(SocksProxy socksProxy) throws SocksException, IOException { checkNotNull(socksProxy, "Argument [socksProxy] may not be null"); // Close socket and throw SocksException. if (!socksProxy.getProxySocket().isClosed()) { socksProxy.getProxySocket().close(); } throw SocksException.noAcceptableMethods(); }
@Override public void doMethod(SocksProxy socksProxy) throws SocksException, IOException { checkNotNull(socksProxy, "Argument [socksProxy] may not be null"); // Close socket and throw SocksException. if (!socksProxy.getProxySocket().isClosed()) { socksProxy.getProxySocket().close(); } throw SocksException.noAcceptableMethods(); }
@Override public synchronized void close() throws IOException { proxy.getProxySocket().close(); proxy.setProxySocket(null); }
@Override public synchronized void close() throws IOException { proxy.getProxySocket().close(); proxy.setProxySocket(null); }
@Override public boolean getTcpNoDelay() throws SocketException { return proxy.getProxySocket().getTcpNoDelay(); }
@Override public void sendUrgentData(int data) throws IOException { proxy.getProxySocket().sendUrgentData(data); }
@Override public boolean getReuseAddress() throws SocketException { return proxy.getProxySocket().getReuseAddress(); }
@Override public void setPerformancePreferences(int connectionTime, int latency, int bandwidth) { proxy.getProxySocket().setPerformancePreferences(connectionTime, latency, bandwidth); }
@Override public void connect(SocketAddress endpoint, int timeout) throws SocksException, IOException { if (!(endpoint instanceof InetSocketAddress)) { throw new IllegalArgumentException("Unsupported address type"); } remoteServerHost = ((InetSocketAddress) endpoint).getHostName(); remoteServerPort = ((InetSocketAddress) endpoint).getPort(); proxy.getProxySocket().setSoTimeout(timeout); proxy.buildConnection(); initProxyChain(); proxy.requestConnect(endpoint); }