From 38c3ae72c9743dbe172779477917bf24bc25ab97 Mon Sep 17 00:00:00 2001 From: byungchul Date: Mon, 25 Aug 2014 16:27:46 -0700 Subject: Revert "Revert of Replace StreamListenSocket with StreamSocket in HttpServer. (patchset #29 of https://codereview.chromium.org/296053012/)" This reverts commit 0b2f33f4a88efbd203b0623324ad4114e3bb9d23. This is relanding CL of https://codereview.chromium.org/296053012/, which broke http server unittests because http server doesn't send response synchronously any more. This CL fixes unittests by reading responses completely. Patch set #1 is same to the original CL. Patch set #2 is the diff. BUG=371906 TBR=pfeldman@chromium.org,darin@chromium.org,gunsch@chromium.org,mnaganov@chromium.org Review URL: https://codereview.chromium.org/487013003 Cr-Commit-Position: refs/heads/master@{#291784} --- cloud_print/gcp20/prototype/privet_http_server.cc | 12 +++++++----- cloud_print/gcp20/prototype/privet_http_server.h | 3 +-- 2 files changed, 8 insertions(+), 7 deletions(-) (limited to 'cloud_print/gcp20/prototype') diff --git a/cloud_print/gcp20/prototype/privet_http_server.cc b/cloud_print/gcp20/prototype/privet_http_server.cc index 9aa2835..41daa81 100644 --- a/cloud_print/gcp20/prototype/privet_http_server.cc +++ b/cloud_print/gcp20/prototype/privet_http_server.cc @@ -10,7 +10,7 @@ #include "net/base/ip_endpoint.h" #include "net/base/net_errors.h" #include "net/base/url_util.h" -#include "net/socket/tcp_listen_socket.h" +#include "net/socket/tcp_server_socket.h" #include "url/gurl.h" namespace { @@ -105,10 +105,12 @@ bool PrivetHttpServer::Start(uint16 port) { if (server_) return true; - net::TCPListenSocketFactory factory("0.0.0.0", port); - server_ = new net::HttpServer(factory, this); - net::IPEndPoint address; + scoped_ptr server_socket( + new net::TCPServerSocket(NULL, net::NetLog::Source())); + server_socket->ListenWithAddressAndPort("0.0.0.0", port, 1); + server_.reset(new net::HttpServer(server_socket.Pass(), this)); + net::IPEndPoint address; if (server_->GetLocalAddress(&address) != net::OK) { NOTREACHED() << "Cannot start HTTP server"; return false; @@ -122,7 +124,7 @@ void PrivetHttpServer::Shutdown() { if (!server_) return; - server_ = NULL; + server_.reset(NULL); } void PrivetHttpServer::OnHttpRequest(int connection_id, diff --git a/cloud_print/gcp20/prototype/privet_http_server.h b/cloud_print/gcp20/prototype/privet_http_server.h index 4b22e35..6cb14d10 100644 --- a/cloud_print/gcp20/prototype/privet_http_server.h +++ b/cloud_print/gcp20/prototype/privet_http_server.h @@ -204,7 +204,7 @@ class PrivetHttpServer: public net::HttpServer::Delegate { uint16 port_; // Contains encapsulated object for listening for requests. - scoped_refptr server_; + scoped_ptr server_; Delegate* delegate_; @@ -212,4 +212,3 @@ class PrivetHttpServer: public net::HttpServer::Delegate { }; #endif // CLOUD_PRINT_GCP20_PROTOTYPE_PRIVET_HTTP_SERVER_H_ - -- cgit v1.1