summaryrefslogtreecommitdiffstats
path: root/net/socket/tcp_client_socket_libevent.cc
diff options
context:
space:
mode:
Diffstat (limited to 'net/socket/tcp_client_socket_libevent.cc')
-rw-r--r--net/socket/tcp_client_socket_libevent.cc25
1 files changed, 23 insertions, 2 deletions
diff --git a/net/socket/tcp_client_socket_libevent.cc b/net/socket/tcp_client_socket_libevent.cc
index 55c4190..a63528b 100644
--- a/net/socket/tcp_client_socket_libevent.cc
+++ b/net/socket/tcp_client_socket_libevent.cc
@@ -233,8 +233,10 @@ int TCPClientSocketLibevent::DoConnectComplete(int result) {
write_socket_watcher_.StopWatchingFileDescriptor();
- if (result == OK)
+ if (result == OK) {
+ use_history_.set_was_ever_connected();
return OK; // Done!
+ }
// Close whatever partially connected socket we currently have.
DoDisconnect();
@@ -320,7 +322,8 @@ int TCPClientSocketLibevent::Read(IOBuffer* buf,
if (nread >= 0) {
static StatsCounter read_bytes("tcp.read_bytes");
read_bytes.Add(nread);
-
+ if (nread > 0)
+ use_history_.set_was_used_to_convey_data();
net_log_.AddEvent(NetLog::TYPE_SOCKET_BYTES_RECEIVED,
new NetLogIntegerParameter("num_bytes", nread));
return nread;
@@ -358,6 +361,8 @@ int TCPClientSocketLibevent::Write(IOBuffer* buf,
if (nwrite >= 0) {
static StatsCounter write_bytes("tcp.write_bytes");
write_bytes.Add(nwrite);
+ if (nwrite > 0)
+ use_history_.set_was_used_to_convey_data();
net_log_.AddEvent(NetLog::TYPE_SOCKET_BYTES_SENT,
new NetLogIntegerParameter("num_bytes", nwrite));
return nwrite;
@@ -474,6 +479,10 @@ void TCPClientSocketLibevent::DidCompleteRead() {
int result;
if (bytes_transferred >= 0) {
result = bytes_transferred;
+ static StatsCounter read_bytes("tcp.read_bytes");
+ read_bytes.Add(bytes_transferred);
+ if (bytes_transferred > 0)
+ use_history_.set_was_used_to_convey_data();
net_log_.AddEvent(NetLog::TYPE_SOCKET_BYTES_RECEIVED,
new NetLogIntegerParameter("num_bytes", result));
} else {
@@ -497,6 +506,10 @@ void TCPClientSocketLibevent::DidCompleteWrite() {
int result;
if (bytes_transferred >= 0) {
result = bytes_transferred;
+ static StatsCounter write_bytes("tcp.write_bytes");
+ write_bytes.Add(bytes_transferred);
+ if (bytes_transferred > 0)
+ use_history_.set_was_used_to_convey_data();
net_log_.AddEvent(NetLog::TYPE_SOCKET_BYTES_SENT,
new NetLogIntegerParameter("num_bytes", result));
} else {
@@ -520,4 +533,12 @@ int TCPClientSocketLibevent::GetPeerAddress(AddressList* address) const {
return OK;
}
+void TCPClientSocketLibevent::SetSubresourceSpeculation() {
+ use_history_.set_subresource_speculation();
+}
+
+void TCPClientSocketLibevent::SetOmniboxSpeculation() {
+ use_history_.set_subresource_speculation();
+}
+
} // namespace net