| 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(
|
|
|