| Index: net/socket/tcp_client_socket_libevent.cc
|
| ===================================================================
|
| --- net/socket/tcp_client_socket_libevent.cc (revision 90217)
|
| +++ net/socket/tcp_client_socket_libevent.cc (working copy)
|
| @@ -137,7 +137,8 @@
|
| net_log_(BoundNetLog::Make(net_log, NetLog::SOURCE_SOCKET)),
|
| previously_disconnected_(false),
|
| use_tcp_fastopen_(false),
|
| - tcp_fastopen_connected_(false) {
|
| + tcp_fastopen_connected_(false),
|
| + num_bytes_read_(0) {
|
| scoped_refptr<NetLog::EventParameters> params;
|
| if (source.is_valid())
|
| params = new NetLogSourceParameter("source_dependency", source);
|
| @@ -298,6 +299,7 @@
|
|
|
| // Connect the socket.
|
| if (!use_tcp_fastopen_) {
|
| + connect_start_time_ = base::TimeTicks::Now();
|
| if (!HANDLE_EINTR(connect(socket_, current_ai_->ai_addr,
|
| static_cast<int>(current_ai_->ai_addrlen)))) {
|
| // Connected without waiting!
|
| @@ -339,6 +341,7 @@
|
| write_socket_watcher_.StopWatchingFileDescriptor();
|
|
|
| if (result == OK) {
|
| + connect_time_micros_ = base::TimeTicks::Now() - connect_start_time_;
|
| use_history_.set_was_ever_connected();
|
| return OK; // Done!
|
| }
|
| @@ -440,6 +443,7 @@
|
| if (nread >= 0) {
|
| base::StatsCounter read_bytes("tcp.read_bytes");
|
| read_bytes.Add(nread);
|
| + num_bytes_read_ += static_cast<int64>(nread);
|
| if (nread > 0)
|
| use_history_.set_was_used_to_convey_data();
|
| net_log_.AddByteTransferEvent(NetLog::TYPE_SOCKET_BYTES_RECEIVED, nread,
|
| @@ -634,6 +638,7 @@
|
| result = bytes_transferred;
|
| base::StatsCounter read_bytes("tcp.read_bytes");
|
| read_bytes.Add(bytes_transferred);
|
| + num_bytes_read_ += static_cast<int64>(bytes_transferred);
|
| if (bytes_transferred > 0)
|
| use_history_.set_was_used_to_convey_data();
|
| net_log_.AddByteTransferEvent(NetLog::TYPE_SOCKET_BYTES_RECEIVED, result,
|
| @@ -723,4 +728,12 @@
|
| return use_tcp_fastopen_;
|
| }
|
|
|
| +int64 TCPClientSocketLibevent::NumBytesRead() const {
|
| + return num_bytes_read_;
|
| +}
|
| +
|
| +base::TimeDelta TCPClientSocketLibevent::GetConnectTimeMicros() const {
|
| + return connect_time_micros_;
|
| +}
|
| +
|
| } // namespace net
|
|
|