summaryrefslogtreecommitdiffstats
path: root/net/base/tcp_client_socket_win.h
diff options
context:
space:
mode:
authorwillchan@chromium.org <willchan@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-04-17 23:59:33 +0000
committerwillchan@chromium.org <willchan@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-04-17 23:59:33 +0000
commitb391fb3da5e5af2388b71076234d2982327ceb48 (patch)
treef7d75fbb0b7def6fc8ca48578e825490e25fcaa5 /net/base/tcp_client_socket_win.h
parent5f78651f721e01b6b064697e6a513d44eaef8c90 (diff)
downloadchromium_src-b391fb3da5e5af2388b71076234d2982327ceb48.zip
chromium_src-b391fb3da5e5af2388b71076234d2982327ceb48.tar.gz
chromium_src-b391fb3da5e5af2388b71076234d2982327ceb48.tar.bz2
Reverting 13983.
Review URL: http://codereview.chromium.org/79066 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@13987 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'net/base/tcp_client_socket_win.h')
-rw-r--r--net/base/tcp_client_socket_win.h114
1 files changed, 0 insertions, 114 deletions
diff --git a/net/base/tcp_client_socket_win.h b/net/base/tcp_client_socket_win.h
deleted file mode 100644
index 63f2b93..0000000
--- a/net/base/tcp_client_socket_win.h
+++ /dev/null
@@ -1,114 +0,0 @@
-// Copyright (c) 2006-2009 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#ifndef NET_BASE_TCP_CLIENT_SOCKET_WIN_H_
-#define NET_BASE_TCP_CLIENT_SOCKET_WIN_H_
-
-#include <ws2tcpip.h>
-
-#include "base/object_watcher.h"
-#include "net/base/address_list.h"
-#include "net/base/client_socket.h"
-#include "net/base/completion_callback.h"
-
-namespace net {
-
-class TCPClientSocketWin : public ClientSocket {
- public:
- // The IP address(es) and port number to connect to. The TCP socket will try
- // each IP address in the list until it succeeds in establishing a
- // connection.
- explicit TCPClientSocketWin(const AddressList& addresses);
-
- ~TCPClientSocketWin();
-
- // ClientSocket methods:
- virtual int Connect(CompletionCallback* callback);
- virtual void Disconnect();
- virtual bool IsConnected() const;
- virtual bool IsConnectedAndIdle() const;
-
- // Socket methods:
- // Multiple outstanding requests are not supported.
- // Full duplex mode (reading and writing at the same time) is supported
- virtual int Read(char* buf, int buf_len, CompletionCallback* callback);
- virtual int Write(const char* buf, int buf_len, CompletionCallback* callback);
-
- private:
- class ReadDelegate : public base::ObjectWatcher::Delegate {
- public:
- explicit ReadDelegate(TCPClientSocketWin* tcp_socket)
- : tcp_socket_(tcp_socket) { }
- virtual ~ReadDelegate() { }
-
- // base::ObjectWatcher::Delegate methods:
- virtual void OnObjectSignaled(HANDLE object);
-
- private:
- TCPClientSocketWin* const tcp_socket_;
- };
-
- class WriteDelegate : public base::ObjectWatcher::Delegate {
- public:
- explicit WriteDelegate(TCPClientSocketWin* tcp_socket)
- : tcp_socket_(tcp_socket) { }
- virtual ~WriteDelegate() { }
-
- // base::ObjectWatcher::Delegate methods:
- virtual void OnObjectSignaled(HANDLE object);
-
- private:
- TCPClientSocketWin* const tcp_socket_;
- };
-
- int CreateSocket(const struct addrinfo* ai);
- void DoReadCallback(int rv);
- void DoWriteCallback(int rv);
- void DidCompleteConnect();
-
- SOCKET socket_;
-
- // The list of addresses we should try in order to establish a connection.
- AddressList addresses_;
-
- // Where we are in above list, or NULL if all addrinfos have been tried.
- const struct addrinfo* current_ai_;
-
- // The various states that the socket could be in.
- bool waiting_connect_;
- bool waiting_read_;
- bool waiting_write_;
-
- // The separate OVERLAPPED variables for asynchronous operation.
- // |read_overlapped_| is used for both Connect() and Read().
- // |write_overlapped_| is only used for Write();
- OVERLAPPED read_overlapped_;
- OVERLAPPED write_overlapped_;
-
- // The buffers used in Read() and Write().
- WSABUF read_buffer_;
- WSABUF write_buffer_;
-
- // |reader_| handles the signals from |read_watcher_|.
- ReadDelegate reader_;
- // |writer_| handles the signals from |write_watcher_|.
- WriteDelegate writer_;
-
- // |read_watcher_| watches for events from Connect() and Read().
- base::ObjectWatcher read_watcher_;
- // |write_watcher_| watches for events from Write();
- base::ObjectWatcher write_watcher_;
-
- // External callback; called when connect or read is complete.
- CompletionCallback* read_callback_;
-
- // External callback; called when write is complete.
- CompletionCallback* write_callback_;
-
- DISALLOW_COPY_AND_ASSIGN(TCPClientSocketWin);
-};
-
-} // namespace net
-
-#endif // NET_BASE_TCP_CLIENT_SOCKET_WIN_H_