Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(825)

Unified Diff: net/quic/quic_client_session.cc

Issue 12253020: Enhance net internals/net log output for QUIC. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Fix use after free Created 7 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « net/quic/quic_client_session.h ('k') | net/quic/quic_client_session_test.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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;
« no previous file with comments | « net/quic/quic_client_session.h ('k') | net/quic/quic_client_session_test.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698