| Index: net/base/tcp_client_socket_win.h
|
| ===================================================================
|
| --- net/base/tcp_client_socket_win.h (revision 18948)
|
| +++ net/base/tcp_client_socket_win.h (working copy)
|
| @@ -1,77 +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(IOBuffer* buf, int buf_len, CompletionCallback* callback);
|
| - virtual int Write(IOBuffer* buf, int buf_len, CompletionCallback* callback);
|
| -
|
| - private:
|
| - class Core;
|
| -
|
| - int CreateSocket(const struct addrinfo* ai);
|
| - void DoReadCallback(int rv);
|
| - void DoWriteCallback(int rv);
|
| - void DidCompleteConnect();
|
| - void DidCompleteRead();
|
| - void DidCompleteWrite();
|
| -
|
| - 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 core of the socket that can live longer than the socket itself. We pass
|
| - // resources to the Windows async IO functions and we have to make sure that
|
| - // they are not destroyed while the OS still references them.
|
| - scoped_refptr<Core> core_;
|
| -
|
| - // 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_
|
|
|