summaryrefslogtreecommitdiff
path: root/java/src/IceInternal/NetworkProxy.java
diff options
context:
space:
mode:
authorMark Spruiell <mes@zeroc.com>2013-04-11 16:06:49 -0700
committerMark Spruiell <mes@zeroc.com>2013-04-11 16:06:49 -0700
commit5b0880e399cffc38f83f7a610ef68d4c6af65b2d (patch)
treeb7bd2e8a67e779ab8578ba06c30b1ae9d31a898e /java/src/IceInternal/NetworkProxy.java
parentFixed (ICE-5327) - Using completed or sent as variable names causes badness (diff)
downloadice-5b0880e399cffc38f83f7a610ef68d4c6af65b2d.tar.bz2
ice-5b0880e399cffc38f83f7a610ef68d4c6af65b2d.tar.xz
ice-5b0880e399cffc38f83f7a610ef68d4c6af65b2d.zip
SOCKS support for Java
Diffstat (limited to 'java/src/IceInternal/NetworkProxy.java')
-rw-r--r--java/src/IceInternal/NetworkProxy.java48
1 files changed, 48 insertions, 0 deletions
diff --git a/java/src/IceInternal/NetworkProxy.java b/java/src/IceInternal/NetworkProxy.java
new file mode 100644
index 00000000000..c035770fd97
--- /dev/null
+++ b/java/src/IceInternal/NetworkProxy.java
@@ -0,0 +1,48 @@
+// **********************************************************************
+//
+// Copyright (c) 2003-2013 ZeroC, Inc. All rights reserved.
+//
+// This copy of Ice is licensed to you under the terms described in the
+// ICE_LICENSE file included in this distribution.
+//
+// **********************************************************************
+
+package IceInternal;
+
+public interface NetworkProxy
+{
+ //
+ // Write the connection request on the connection established
+ // with the network proxy server. This is called right after
+ // the connection establishment succeeds.
+ //
+ void beginWriteConnectRequest(java.net.InetSocketAddress endpoint, Buffer buf);
+ void endWriteConnectRequest(Buffer buf);
+
+ //
+ // Once the connection request has been sent, this is called
+ // to prepare and read the response from the proxy server.
+ //
+ void beginReadConnectRequestResponse(Buffer buf);
+ void endReadConnectRequestResponse(Buffer buf);
+
+ //
+ // If the proxy host needs to be resolved, this should return
+ // a new NetworkProxy containing the IP address of the proxy.
+ // This is called from the endpoint host resolver thread, so
+ // it's safe if this this method blocks.
+ //
+ NetworkProxy resolveHost();
+
+ //
+ // Returns the IP address of the network proxy. This method
+ // must not block. It's only called on a network proxy object
+ // returned by resolveHost().
+ //
+ java.net.InetSocketAddress getAddress();
+
+ //
+ // Returns the name of the proxy, used for tracing purposes.
+ //
+ String getName();
+}