diff options
author | szym@chromium.org <szym@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-09-03 19:03:06 +0000 |
---|---|---|
committer | szym@chromium.org <szym@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-09-03 19:03:06 +0000 |
commit | 8b62f8e537893c76633cc94e2327c2c2bfc340ee (patch) | |
tree | 9f38f00402039886c0b306a193f87b6c9d127b3d /net/test | |
parent | df248dc033de8f3b48f5d2c4dc49d739537c8ad4 (diff) | |
download | chromium_src-8b62f8e537893c76633cc94e2327c2c2bfc340ee.zip chromium_src-8b62f8e537893c76633cc94e2327c2c2bfc340ee.tar.gz chromium_src-8b62f8e537893c76633cc94e2327c2c2bfc340ee.tar.bz2 |
Remove ref-counting from StreamListenSocket
Changes APIs for StreamListenSocket, TCPListenSocket, UnixDomainSocket and derived test classes to use scoped_ptr instead of scoped_refptr.
BUG=263963
Review URL: https://chromiumcodereview.appspot.com/20142003
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@220992 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'net/test')
4 files changed, 15 insertions, 14 deletions
diff --git a/net/test/embedded_test_server/embedded_test_server.cc b/net/test/embedded_test_server/embedded_test_server.cc index d9196e1..db840db 100644 --- a/net/test/embedded_test_server/embedded_test_server.cc +++ b/net/test/embedded_test_server/embedded_test_server.cc @@ -156,7 +156,7 @@ void EmbeddedTestServer::InitializeOnIOThread() { if (socket_descriptor == kInvalidSocket) return; - listen_socket_ = new HttpListenSocket(socket_descriptor, this); + listen_socket_.reset(new HttpListenSocket(socket_descriptor, this)); listen_socket_->Listen(); IPEndPoint address; @@ -171,7 +171,7 @@ void EmbeddedTestServer::InitializeOnIOThread() { void EmbeddedTestServer::ShutdownOnIOThread() { DCHECK(io_thread_->BelongsToCurrentThread()); - listen_socket_ = NULL; // Release the listen socket. + listen_socket_.reset(); STLDeleteContainerPairSecondPointers(connections_.begin(), connections_.end()); connections_.clear(); @@ -224,15 +224,17 @@ void EmbeddedTestServer::RegisterRequestHandler( request_handlers_.push_back(callback); } -void EmbeddedTestServer::DidAccept(StreamListenSocket* server, - StreamListenSocket* connection) { +void EmbeddedTestServer::DidAccept( + StreamListenSocket* server, + scoped_ptr<StreamListenSocket> connection) { DCHECK(io_thread_->BelongsToCurrentThread()); HttpConnection* http_connection = new HttpConnection( - connection, + connection.Pass(), base::Bind(&EmbeddedTestServer::HandleRequest, weak_factory_.GetWeakPtr())); - connections_[connection] = http_connection; + // TODO(szym): Make HttpConnection the StreamListenSocket delegate. + connections_[http_connection->socket_.get()] = http_connection; } void EmbeddedTestServer::DidRead(StreamListenSocket* connection, diff --git a/net/test/embedded_test_server/embedded_test_server.h b/net/test/embedded_test_server/embedded_test_server.h index 879c4a9..6a5203f 100644 --- a/net/test/embedded_test_server/embedded_test_server.h +++ b/net/test/embedded_test_server/embedded_test_server.h @@ -33,10 +33,10 @@ class HttpListenSocket : public TCPListenSocket { public: HttpListenSocket(const SocketDescriptor socket_descriptor, StreamListenSocket::Delegate* delegate); + virtual ~HttpListenSocket(); virtual void Listen(); private: - virtual ~HttpListenSocket(); base::ThreadChecker thread_checker_; }; @@ -137,7 +137,7 @@ class EmbeddedTestServer : public StreamListenSocket::Delegate { // StreamListenSocket::Delegate overrides: virtual void DidAccept(StreamListenSocket* server, - StreamListenSocket* connection) OVERRIDE; + scoped_ptr<StreamListenSocket> connection) OVERRIDE; virtual void DidRead(StreamListenSocket* connection, const char* data, int length) OVERRIDE; @@ -147,7 +147,7 @@ class EmbeddedTestServer : public StreamListenSocket::Delegate { scoped_refptr<base::SingleThreadTaskRunner> io_thread_; - scoped_refptr<HttpListenSocket> listen_socket_; + scoped_ptr<HttpListenSocket> listen_socket_; int port_; GURL base_url_; diff --git a/net/test/embedded_test_server/http_connection.cc b/net/test/embedded_test_server/http_connection.cc index 8b5317e..b7eab2eb 100644 --- a/net/test/embedded_test_server/http_connection.cc +++ b/net/test/embedded_test_server/http_connection.cc @@ -10,9 +10,9 @@ namespace net { namespace test_server { -HttpConnection::HttpConnection(StreamListenSocket* socket, +HttpConnection::HttpConnection(scoped_ptr<StreamListenSocket> socket, const HandleRequestCallback& callback) - : socket_(socket), + : socket_(socket.Pass()), callback_(callback) { } diff --git a/net/test/embedded_test_server/http_connection.h b/net/test/embedded_test_server/http_connection.h index da93534..870d122 100644 --- a/net/test/embedded_test_server/http_connection.h +++ b/net/test/embedded_test_server/http_connection.h @@ -7,7 +7,6 @@ #include "base/basictypes.h" #include "base/callback.h" -#include "base/memory/ref_counted.h" #include "base/strings/string_piece.h" #include "net/test/embedded_test_server/http_request.h" @@ -30,7 +29,7 @@ typedef base::Callback<void(HttpConnection* connection, // If a valid request is parsed, then |callback_| is invoked. class HttpConnection { public: - HttpConnection(StreamListenSocket* socket, + HttpConnection(scoped_ptr<StreamListenSocket> socket, const HandleRequestCallback& callback); ~HttpConnection(); @@ -45,7 +44,7 @@ class HttpConnection { // called. void ReceiveData(const base::StringPiece& data); - scoped_refptr<StreamListenSocket> socket_; + scoped_ptr<StreamListenSocket> socket_; const HandleRequestCallback callback_; HttpRequestParser request_parser_; |