| Index: net/base/tcp_client_socket_libevent.cc
|
| ===================================================================
|
| --- net/base/tcp_client_socket_libevent.cc (revision 7488)
|
| +++ net/base/tcp_client_socket_libevent.cc (working copy)
|
| @@ -10,6 +10,8 @@
|
| #include <sys/socket.h>
|
|
|
| #include "base/message_loop.h"
|
| +#include "base/string_util.h"
|
| +#include "base/trace_event.h"
|
| #include "net/base/net_errors.h"
|
| #include "third_party/libevent/event.h"
|
|
|
| @@ -83,6 +85,7 @@
|
|
|
| DCHECK(!waiting_connect_);
|
|
|
| + TRACE_EVENT_BEGIN("socket.connect", this, "");
|
| const addrinfo* ai = current_ai_;
|
| DCHECK(ai);
|
|
|
| @@ -91,6 +94,7 @@
|
| return rv;
|
|
|
| if (!connect(socket_, ai->ai_addr, static_cast<int>(ai->ai_addrlen))) {
|
| + TRACE_EVENT_END("socket.connect", this, "");
|
| // Connected without waiting!
|
| return OK;
|
| }
|
| @@ -131,6 +135,8 @@
|
| if (socket_ == kInvalidSocket)
|
| return;
|
|
|
| + TRACE_EVENT_INSTANT("socket.disconnect", this, "");
|
| +
|
| socket_watcher_.StopWatchingFileDescriptor();
|
| close(socket_);
|
| socket_ = kInvalidSocket;
|
| @@ -165,8 +171,10 @@
|
| DCHECK(callback);
|
| DCHECK(buf_len > 0);
|
|
|
| + TRACE_EVENT_BEGIN("socket.read", this, "");
|
| int nread = read(socket_, buf, buf_len);
|
| if (nread >= 0) {
|
| + TRACE_EVENT_END("socket.read", this, StringPrintf("%d bytes", nread));
|
| return nread;
|
| }
|
| if (errno != EAGAIN && errno != EWOULDBLOCK) {
|
| @@ -197,8 +205,10 @@
|
| DCHECK(callback);
|
| DCHECK(buf_len > 0);
|
|
|
| + TRACE_EVENT_BEGIN("socket.write", this, "");
|
| int nwrite = write(socket_, buf, buf_len);
|
| if (nwrite >= 0) {
|
| + TRACE_EVENT_END("socket.write", this, StringPrintf("%d bytes", nwrite));
|
| return nwrite;
|
| }
|
| if (errno != EAGAIN && errno != EWOULDBLOCK)
|
| @@ -223,7 +233,6 @@
|
| if (socket_ == kInvalidSocket)
|
| return MapPosixError(errno);
|
|
|
| - // All our socket I/O is nonblocking
|
| if (SetNonBlocking(socket_))
|
| return MapPosixError(errno);
|
|
|
| @@ -253,6 +262,8 @@
|
| void TCPClientSocket::DidCompleteConnect() {
|
| int result = ERR_UNEXPECTED;
|
|
|
| + TRACE_EVENT_END("socket.connect", this, "");
|
| +
|
| // Check to see if connect succeeded
|
| int error_code = 0;
|
| socklen_t len = sizeof(error_code);
|
| @@ -291,6 +302,8 @@
|
|
|
| int result;
|
| if (bytes_transferred >= 0) {
|
| + TRACE_EVENT_END("socket.read", this,
|
| + StringPrintf("%d bytes", bytes_transferred));
|
| result = bytes_transferred;
|
| } else {
|
| result = MapPosixError(errno);
|
| @@ -311,6 +324,8 @@
|
| int result;
|
| if (bytes_transferred >= 0) {
|
| result = bytes_transferred;
|
| + TRACE_EVENT_END("socket.write", this,
|
| + StringPrintf("%d bytes", bytes_transferred));
|
| } else {
|
| result = MapPosixError(errno);
|
| }
|
|
|