Index: net/quic/quic_client_session.cc |
diff --git a/net/quic/quic_client_session.cc b/net/quic/quic_client_session.cc |
index 90b44e531db8ee9df5d05711575e8c44cdc9b4c4..0e972a0c8a208a2669b821d413e5272826208a9f 100644 |
--- a/net/quic/quic_client_session.cc |
+++ b/net/quic/quic_client_session.cc |
@@ -19,17 +19,25 @@ namespace net { |
QuicClientSession::QuicClientSession(QuicConnection* connection, |
QuicConnectionHelper* helper, |
QuicStreamFactory* stream_factory, |
- const string& server_hostname) |
+ const string& server_hostname, |
+ NetLog* net_log) |
: QuicSession(connection, false), |
ALLOW_THIS_IN_INITIALIZER_LIST(weak_factory_(this)), |
ALLOW_THIS_IN_INITIALIZER_LIST(crypto_stream_(this, server_hostname)), |
helper_(helper), |
stream_factory_(stream_factory), |
read_buffer_(new IOBufferWithSize(kMaxPacketSize)), |
- read_pending_(false) { |
+ read_pending_(false), |
+ num_total_streams_(0), |
+ net_log_(BoundNetLog::Make(net_log, NetLog::SOURCE_QUIC_SESSION)) { |
+ // TODO(rch): pass in full host port proxy pair |
+ net_log_.BeginEvent( |
+ NetLog::TYPE_QUIC_SESSION, |
+ NetLog::StringCallback("host", &server_hostname)); |
} |
QuicClientSession::~QuicClientSession() { |
+ net_log_.EndEvent(NetLog::TYPE_QUIC_SESSION); |
} |
QuicReliableClientStream* QuicClientSession::CreateOutgoingReliableStream() { |
@@ -43,8 +51,9 @@ QuicReliableClientStream* QuicClientSession::CreateOutgoingReliableStream() { |
return NULL; |
} |
QuicReliableClientStream* stream = |
- new QuicReliableClientStream(GetNextStreamId(), this); |
+ new QuicReliableClientStream(GetNextStreamId(), this, net_log_); |
ActivateStream(stream); |
+ ++num_total_streams_; |
return stream; |
} |
@@ -115,6 +124,10 @@ void QuicClientSession::CloseSessionOnError(int error) { |
static_cast<QuicReliableClientStream*>(stream)->OnError(error); |
CloseStream(id); |
} |
+ net_log_.BeginEvent( |
+ NetLog::TYPE_QUIC_SESSION, |
+ NetLog::IntegerCallback("net_error", error)); |
+ // Will delete |this|. |
stream_factory_->OnSessionClose(this); |
} |
@@ -122,6 +135,7 @@ Value* QuicClientSession::GetInfoAsValue(const HostPortPair& pair) const { |
DictionaryValue* dict = new DictionaryValue(); |
dict->SetString("host_port_pair", pair.ToString()); |
dict->SetInteger("open_streams", GetNumOpenStreams()); |
+ dict->SetInteger("total_streams", num_total_streams_); |
dict->SetString("peer_address", peer_address().ToString()); |
dict->SetString("guid", base::Uint64ToString(guid())); |
return dict; |