Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(74)

Unified Diff: ppapi/shared_impl/private/tcp_socket_private_impl.h

Issue 8775063: Revert 112693 - committed before review was done - Landing 8688002: PPB_TCPSocket_Private/PPB_UDP... (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/
Patch Set: Created 9 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « ppapi/proxy/ppb_udp_socket_private_proxy.cc ('k') | ppapi/shared_impl/private/tcp_socket_private_impl.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: ppapi/shared_impl/private/tcp_socket_private_impl.h
===================================================================
--- ppapi/shared_impl/private/tcp_socket_private_impl.h (revision 112751)
+++ ppapi/shared_impl/private/tcp_socket_private_impl.h (working copy)
@@ -1,116 +0,0 @@
-// Copyright (c) 2011 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 PPAPI_SHARED_IMPL_PRIVATE_TCP_SOCKET_PRIVATE_IMPL_H_
-#define PPAPI_SHARED_IMPL_PRIVATE_TCP_SOCKET_PRIVATE_IMPL_H_
-
-#include <string>
-
-#include "base/compiler_specific.h"
-#include "ppapi/shared_impl/resource.h"
-#include "ppapi/thunk/ppb_tcp_socket_private_api.h"
-
-namespace ppapi {
-
-// This class provides the shared implementation of a
-// PPB_TCPSocket_Private. The functions that actually send messages
-// to browser are implemented differently for the proxied and
-// non-proxied derived classes.
-class PPAPI_SHARED_EXPORT TCPSocketPrivateImpl
- : public thunk::PPB_TCPSocket_Private_API,
- public Resource {
- public:
- // C-tor used in Impl case.
- TCPSocketPrivateImpl(PP_Instance instance, uint32 socket_id);
- // C-tor used in Proxy case.
- TCPSocketPrivateImpl(const HostResource& resource, uint32 socket_id);
-
- virtual ~TCPSocketPrivateImpl();
-
- // The maximum number of bytes that each PpapiHostMsg_PPBTCPSocket_Read
- // message is allowed to request.
- static const int32_t kMaxReadSize;
- // The maximum number of bytes that each PpapiHostMsg_PPBTCPSocket_Write
- // message is allowed to carry.
- static const int32_t kMaxWriteSize;
-
- // Resource overrides.
- virtual PPB_TCPSocket_Private_API* AsPPB_TCPSocket_Private_API() OVERRIDE;
-
- // PPB_TCPSocket_Private_API implementation.
- virtual int32_t Connect(const char* host,
- uint16_t port,
- PP_CompletionCallback callback) OVERRIDE;
- virtual int32_t ConnectWithNetAddress(
- const PP_NetAddress_Private* addr,
- PP_CompletionCallback callback) OVERRIDE;
- virtual PP_Bool GetLocalAddress(PP_NetAddress_Private* local_addr) OVERRIDE;
- virtual PP_Bool GetRemoteAddress(PP_NetAddress_Private* remote_addr) OVERRIDE;
- virtual int32_t SSLHandshake(const char* server_name,
- uint16_t server_port,
- PP_CompletionCallback callback) OVERRIDE;
- virtual int32_t Read(char* buffer,
- int32_t bytes_to_read,
- PP_CompletionCallback callback) OVERRIDE;
- virtual int32_t Write(const char* buffer,
- int32_t bytes_to_write,
- PP_CompletionCallback callback) OVERRIDE;
- virtual void Disconnect() OVERRIDE;
-
- // Notifications on operations completion.
- void OnConnectCompleted(bool succeeded,
- const PP_NetAddress_Private& local_addr,
- const PP_NetAddress_Private& remote_addr);
- void OnSSLHandshakeCompleted(bool succeeded);
- void OnReadCompleted(bool succeeded, const std::string& data);
- void OnWriteCompleted(bool succeeded, int32_t bytes_written);
-
- // Send functions that need to be implemented differently for the
- // proxied and non-proxied derived classes.
- virtual void SendConnect(const std::string& host, uint16_t port) = 0;
- virtual void SendConnectWithNetAddress(const PP_NetAddress_Private& addr) = 0;
- virtual void SendSSLHandshake(const std::string& server_name,
- uint16_t server_port) = 0;
- virtual void SendRead(int32_t bytes_to_read) = 0;
- virtual void SendWrite(const std::string& buffer) = 0;
- virtual void SendDisconnect() = 0;
-
- protected:
- enum ConnectionState {
- // Before a connection is successfully established (including a connect
- // request is pending or a previous connect request failed).
- BEFORE_CONNECT,
- // A connection has been successfully established (including a request of
- // initiating SSL is pending).
- CONNECTED,
- // An SSL connection has been successfully established.
- SSL_CONNECTED,
- // The connection has been ended.
- DISCONNECTED
- };
-
- void Init(uint32 socket_id);
- bool IsConnected() const;
- void PostAbortAndClearIfNecessary(PP_CompletionCallback* callback);
-
- uint32 socket_id_;
- ConnectionState connection_state_;
-
- PP_CompletionCallback connect_callback_;
- PP_CompletionCallback ssl_handshake_callback_;
- PP_CompletionCallback read_callback_;
- PP_CompletionCallback write_callback_;
-
- char* read_buffer_;
- int32_t bytes_to_read_;
-
- PP_NetAddress_Private local_addr_;
- PP_NetAddress_Private remote_addr_;
-
- DISALLOW_COPY_AND_ASSIGN(TCPSocketPrivateImpl);
-};
-
-} // namespace ppapi
-
-#endif // PPAPI_SHARED_IMPL_PRIVATE_TCP_SOCKET_PRIVATE_IMPL_H_
« no previous file with comments | « ppapi/proxy/ppb_udp_socket_private_proxy.cc ('k') | ppapi/shared_impl/private/tcp_socket_private_impl.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698