diff options
author | rpaquay@chromium.org <rpaquay@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-10-18 03:49:15 +0000 |
---|---|---|
committer | rpaquay@chromium.org <rpaquay@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-10-18 03:49:15 +0000 |
commit | 96a0c067d816576735856452608a03bd7e914504 (patch) | |
tree | 513fe241364a307f7c83963d05f028055a66ab76 /chrome/browser/extensions/api/socket/tcp_socket.cc | |
parent | b1d1ea068f578e933054c8573e985402ca014319 (diff) | |
download | chromium_src-96a0c067d816576735856452608a03bd7e914504.zip chromium_src-96a0c067d816576735856452608a03bd7e914504.tar.gz chromium_src-96a0c067d816576735856452608a03bd7e914504.tar.bz2 |
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
Diffstat (limited to 'chrome/browser/extensions/api/socket/tcp_socket.cc')
-rw-r--r-- | chrome/browser/extensions/api/socket/tcp_socket.cc | 31 |
1 files changed, 31 insertions, 0 deletions
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<ResumableTCPSocket>::GetFactoryInstance() { return &g_factory.Get(); } +static base::LazyInstance<ProfileKeyedAPIFactory< + ApiResourceManager<ResumableTCPServerSocket> > > + g_server_factory = LAZY_INSTANCE_INITIALIZER; + +// static +template <> +ProfileKeyedAPIFactory<ApiResourceManager<ResumableTCPServerSocket> >* +ApiResourceManager<ResumableTCPServerSocket>::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 |