Index: net/quic/core/quic_session.cc |
diff --git a/net/quic/core/quic_session.cc b/net/quic/core/quic_session.cc |
index 155609b38a6be1e064c642f5e47a63a929a4e87c..a10c124c05f154f229e2c60a7a1d0a6181844189 100644 |
--- a/net/quic/core/quic_session.cc |
+++ b/net/quic/core/quic_session.cc |
@@ -29,8 +29,11 @@ namespace net { |
#define ENDPOINT \ |
(perspective() == Perspective::IS_SERVER ? "Server: " : " Client: ") |
-QuicSession::QuicSession(QuicConnection* connection, const QuicConfig& config) |
+QuicSession::QuicSession(QuicConnection* connection, |
+ Visitor* owner, |
+ const QuicConfig& config) |
: connection_(connection), |
+ visitor_(owner), |
config_(config), |
max_open_outgoing_streams_(kDefaultMaxStreamsPerConnection), |
max_open_incoming_streams_(config_.GetMaxIncomingDynamicStreamsToSend()), |
@@ -109,7 +112,7 @@ void QuicSession::OnGoAway(const QuicGoAwayFrame& frame) { |
} |
void QuicSession::OnConnectionClosed(QuicErrorCode error, |
- const string& /*error_details*/, |
+ const string& error_details, |
ConnectionCloseSource source) { |
DCHECK(!connection_->connected()); |
if (error_ == QUIC_NO_ERROR) { |
@@ -126,6 +129,17 @@ void QuicSession::OnConnectionClosed(QuicErrorCode error, |
CloseStream(id); |
} |
} |
+ |
+ if (visitor_) { |
+ visitor_->OnConnectionClosed(connection_->connection_id(), error, |
+ error_details); |
+ } |
+} |
+ |
+void QuicSession::OnWriteBlocked() { |
+ if (visitor_) { |
+ visitor_->OnWriteBlocked(connection_); |
+ } |
} |
void QuicSession::OnSuccessfulVersionNegotiation( |