diff options
Diffstat (limited to 'chromium/net/tools/quic/quic_server_session.h')
-rw-r--r-- | chromium/net/tools/quic/quic_server_session.h | 25 |
1 files changed, 16 insertions, 9 deletions
diff --git a/chromium/net/tools/quic/quic_server_session.h b/chromium/net/tools/quic/quic_server_session.h index f4705519791..e05ba161d4f 100644 --- a/chromium/net/tools/quic/quic_server_session.h +++ b/chromium/net/tools/quic/quic_server_session.h @@ -10,6 +10,7 @@ #include <set> #include <vector> +#include "base/basictypes.h" #include "base/containers/hash_tables.h" #include "base/memory/scoped_ptr.h" #include "net/quic/quic_crypto_server_stream.h" @@ -18,6 +19,7 @@ namespace net { +class QuicBlockedWriterInterface; class QuicConfig; class QuicConnection; class QuicCryptoServerConfig; @@ -31,28 +33,33 @@ class QuicServerSessionPeer; // An interface from the session to the entity owning the session. // This lets the session notify its owner (the Dispatcher) when the connection -// is closed. -class QuicSessionOwner { +// is closed or blocked. +class QuicServerSessionVisitor { public: - virtual ~QuicSessionOwner() {} + virtual ~QuicServerSessionVisitor() {} - virtual void OnConnectionClosed(QuicGuid guid, QuicErrorCode error) = 0; + virtual void OnConnectionClosed(QuicConnectionId connection_id, + QuicErrorCode error) = 0; + virtual void OnWriteBlocked(QuicBlockedWriterInterface* writer) = 0; }; class QuicServerSession : public QuicSession { public: QuicServerSession(const QuicConfig& config, - QuicConnection *connection, - QuicSessionOwner* owner); + QuicConnection* connection, + QuicServerSessionVisitor* visitor); // Override the base class to notify the owner of the connection close. virtual void OnConnectionClosed(QuicErrorCode error, bool from_peer) OVERRIDE; + virtual void OnWriteBlocked() OVERRIDE; virtual ~QuicServerSession(); virtual void InitializeSession(const QuicCryptoServerConfig& crypto_config); - const QuicCryptoServerStream* crypto_stream() { return crypto_stream_.get(); } + const QuicCryptoServerStream* crypto_stream() const { + return crypto_stream_.get(); + } protected: // QuicSession methods: @@ -66,13 +73,13 @@ class QuicServerSession : public QuicSession { virtual bool ShouldCreateIncomingDataStream(QuicStreamId id); virtual QuicCryptoServerStream* CreateQuicCryptoServerStream( - const QuicCryptoServerConfig& crypto_config); + const QuicCryptoServerConfig& crypto_config); private: friend class test::QuicServerSessionPeer; scoped_ptr<QuicCryptoServerStream> crypto_stream_; - QuicSessionOwner* owner_; + QuicServerSessionVisitor* visitor_; DISALLOW_COPY_AND_ASSIGN(QuicServerSession); }; |