summaryrefslogtreecommitdiffstats
path: root/net/test
diff options
context:
space:
mode:
authorszym@chromium.org <szym@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-09-03 19:03:06 +0000
committerszym@chromium.org <szym@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-09-03 19:03:06 +0000
commit8b62f8e537893c76633cc94e2327c2c2bfc340ee (patch)
tree9f38f00402039886c0b306a193f87b6c9d127b3d /net/test
parentdf248dc033de8f3b48f5d2c4dc49d739537c8ad4 (diff)
downloadchromium_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')
-rw-r--r--net/test/embedded_test_server/embedded_test_server.cc14
-rw-r--r--net/test/embedded_test_server/embedded_test_server.h6
-rw-r--r--net/test/embedded_test_server/http_connection.cc4
-rw-r--r--net/test/embedded_test_server/http_connection.h5
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_;