summaryrefslogtreecommitdiffstats
path: root/net/socket/tcp_client_socket_win.h
diff options
context:
space:
mode:
authorsergeyu@chromium.org <sergeyu@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-05-27 21:50:28 +0000
committersergeyu@chromium.org <sergeyu@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-05-27 21:50:28 +0000
commit03ec25380e837518ede1b03d9a05669e9bc1746c (patch)
treeef0267608031c7d7a58301563190bab47bbd99be /net/socket/tcp_client_socket_win.h
parent9815108ef72b28eab4c78fe43db9db171f24cd57 (diff)
downloadchromium_src-03ec25380e837518ede1b03d9a05669e9bc1746c.zip
chromium_src-03ec25380e837518ede1b03d9a05669e9bc1746c.tar.gz
chromium_src-03ec25380e837518ede1b03d9a05669e9bc1746c.tar.bz2
Bind() methods for TCP sockets
BUG=80245 TEST=None Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=87077 Review URL: http://codereview.chromium.org/7004055 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@87095 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'net/socket/tcp_client_socket_win.h')
-rw-r--r--net/socket/tcp_client_socket_win.h19
1 files changed, 12 insertions, 7 deletions
diff --git a/net/socket/tcp_client_socket_win.h b/net/socket/tcp_client_socket_win.h
index 0c704e9..ed71514 100644
--- a/net/socket/tcp_client_socket_win.h
+++ b/net/socket/tcp_client_socket_win.h
@@ -8,6 +8,7 @@
#include <winsock2.h>
+#include "base/scoped_ptr.h"
#include "base/threading/non_thread_safe.h"
#include "net/base/address_list.h"
#include "net/base/completion_callback.h"
@@ -35,7 +36,10 @@ class NET_API TCPClientSocketWin : public StreamSocket,
// the given socket and then acts as if Connect() had been called. This
// function is used by TCPServerSocket() to adopt accepted connections
// and for testing.
- void AdoptSocket(SOCKET socket);
+ int AdoptSocket(SOCKET socket);
+
+ // Binds the socket to a local IP address and port.
+ int Bind(const IPEndPoint& address);
// StreamSocket methods:
virtual int Connect(CompletionCallback* callback);
@@ -83,12 +87,6 @@ class NET_API TCPClientSocketWin : public StreamSocket,
return next_connect_state_ != CONNECT_STATE_NONE;
}
- // Returns the OS error code (or 0 on success).
- int CreateSocket(const struct addrinfo* ai);
-
- // Returns the OS error code (or 0 on success).
- int SetupSocket();
-
// Called after Connect() has completed with |net_error|.
void LogConnectCompletion(int net_error);
@@ -100,6 +98,13 @@ class NET_API TCPClientSocketWin : public StreamSocket,
SOCKET socket_;
+ // Local IP address and port we are bound to. Set to NULL if Bind()
+ // was't called (in that cases OS chooses address/port).
+ scoped_ptr<IPEndPoint> bind_address_;
+
+ // Stores bound socket between Bind() and Connect() calls.
+ SOCKET bound_socket_;
+
// The list of addresses we should try in order to establish a connection.
AddressList addresses_;