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

Unified Diff: net/socket/tcp_listen_socket.cc

Issue 20142003: Remove ref-counting from StreamListenSocket (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: fixup Created 7 years, 5 months 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
Index: net/socket/tcp_listen_socket.cc
diff --git a/net/socket/tcp_listen_socket.cc b/net/socket/tcp_listen_socket.cc
index aab2e45d0e9be6604ceb929e0bd08315e2e1a237..2525ba23305045eb94528dc581f412bcf1b8af0b 100644
--- a/net/socket/tcp_listen_socket.cc
+++ b/net/socket/tcp_listen_socket.cc
@@ -29,14 +29,14 @@ using std::string;
namespace net {
// static
-scoped_refptr<TCPListenSocket> TCPListenSocket::CreateAndListen(
+scoped_ptr<TCPListenSocket> TCPListenSocket::CreateAndListen(
const string& ip, int port, StreamListenSocket::Delegate* del) {
SocketDescriptor s = CreateAndBind(ip, port);
if (s == kInvalidSocket)
- return NULL;
- scoped_refptr<TCPListenSocket> sock(new TCPListenSocket(s, del));
+ return scoped_ptr<TCPListenSocket>();
+ scoped_ptr<TCPListenSocket> sock(new TCPListenSocket(s, del));
sock->Listen();
- return sock;
+ return sock.Pass();
}
TCPListenSocket::TCPListenSocket(SocketDescriptor s,
@@ -104,13 +104,13 @@ void TCPListenSocket::Accept() {
SocketDescriptor conn = AcceptSocket();
if (conn == kInvalidSocket)
return;
- scoped_refptr<TCPListenSocket> sock(
+ scoped_ptr<TCPListenSocket> sock(
new TCPListenSocket(conn, socket_delegate_));
// It's up to the delegate to AddRef if it wants to keep it around.
#if defined(OS_POSIX)
sock->WatchSocket(WAITING_READ);
#endif
- socket_delegate_->DidAccept(this, sock.get());
+ socket_delegate_->DidAccept(this, sock.PassAs<StreamListenSocket>());
}
TCPListenSocketFactory::TCPListenSocketFactory(const string& ip, int port)
@@ -120,9 +120,10 @@ TCPListenSocketFactory::TCPListenSocketFactory(const string& ip, int port)
TCPListenSocketFactory::~TCPListenSocketFactory() {}
-scoped_refptr<StreamListenSocket> TCPListenSocketFactory::CreateAndListen(
+scoped_ptr<StreamListenSocket> TCPListenSocketFactory::CreateAndListen(
StreamListenSocket::Delegate* delegate) const {
- return TCPListenSocket::CreateAndListen(ip_, port_, delegate);
+ return TCPListenSocket::CreateAndListen(ip_, port_, delegate)
+ .PassAs<StreamListenSocket>();
}
} // namespace net

Powered by Google App Engine
This is Rietveld 408576698