From 96a0c067d816576735856452608a03bd7e914504 Mon Sep 17 00:00:00 2001 From: "rpaquay@chromium.org" Date: Fri, 18 Oct 2013 03:49:15 +0000 Subject: sockets.tcpServer API implementation. Implement a new API for TCP *server* sockets. This CL is similar to sockets.tcp (see https://codereview.chromium.org/24684002) and follows the same design pattern. BUG=165273 BUG=173241 Review URL: https://codereview.chromium.org/27076004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@229304 0039d316-1c4b-4281-b951-d872f2087c98 --- chrome/browser/extensions/api/socket/tcp_socket.cc | 31 ++++++++++++++++++++++ 1 file changed, 31 insertions(+) (limited to 'chrome/browser/extensions/api/socket/tcp_socket.cc') diff --git a/chrome/browser/extensions/api/socket/tcp_socket.cc b/chrome/browser/extensions/api/socket/tcp_socket.cc index 8401dc26..4c0de16 100644 --- a/chrome/browser/extensions/api/socket/tcp_socket.cc +++ b/chrome/browser/extensions/api/socket/tcp_socket.cc @@ -28,6 +28,17 @@ ApiResourceManager::GetFactoryInstance() { return &g_factory.Get(); } +static base::LazyInstance > > + g_server_factory = LAZY_INSTANCE_INITIALIZER; + +// static +template <> +ProfileKeyedAPIFactory >* +ApiResourceManager::GetFactoryInstance() { + return &g_server_factory.Get(); +} + TCPSocket::TCPSocket(const std::string& owner_extension_id) : Socket(owner_extension_id), socket_mode_(UNKNOWN) { @@ -304,8 +315,28 @@ ResumableTCPSocket::ResumableTCPSocket(const std::string& owner_extension_id) paused_(false) { } +ResumableTCPSocket::ResumableTCPSocket(net::TCPClientSocket* tcp_client_socket, + const std::string& owner_extension_id, + bool is_connected) + : TCPSocket(tcp_client_socket, owner_extension_id, is_connected), + persistent_(false), + buffer_size_(0), + paused_(false) { +} + bool ResumableTCPSocket::persistent() const { return persistent_; } +ResumableTCPServerSocket::ResumableTCPServerSocket( + const std::string& owner_extension_id) + : TCPSocket(owner_extension_id), + persistent_(false), + paused_(false) { +} + +bool ResumableTCPServerSocket::persistent() const { + return persistent_; +} + } // namespace extensions -- cgit v1.1