Index: net/quic/quic_spdy_session.h |
diff --git a/net/quic/quic_spdy_session.h b/net/quic/quic_spdy_session.h |
deleted file mode 100644 |
index 28a2437e58fbaaee295bcb58b2d562b5f8fc21a5..0000000000000000000000000000000000000000 |
--- a/net/quic/quic_spdy_session.h |
+++ /dev/null |
@@ -1,142 +0,0 @@ |
-// Copyright (c) 2015 The Chromium Authors. All rights reserved. |
-// Use of this source code is governed by a BSD-style license that can be |
-// found in the LICENSE file. |
- |
-#ifndef NET_QUIC_QUIC_SPDY_SESSION_H_ |
-#define NET_QUIC_QUIC_SPDY_SESSION_H_ |
- |
-#include <stddef.h> |
- |
-#include <memory> |
- |
-#include "base/macros.h" |
-#include "net/quic/quic_header_list.h" |
-#include "net/quic/quic_headers_stream.h" |
-#include "net/quic/quic_session.h" |
-#include "net/quic/quic_spdy_stream.h" |
- |
-namespace net { |
- |
-namespace test { |
-class QuicSpdySessionPeer; |
-} // namespace test |
- |
-// A QUIC session with a headers stream. |
-class NET_EXPORT_PRIVATE QuicSpdySession : public QuicSession { |
- public: |
- QuicSpdySession(QuicConnection* connection, const QuicConfig& config); |
- |
- ~QuicSpdySession() override; |
- |
- void Initialize() override; |
- |
- // Called by |headers_stream_| when headers have been received for a stream. |
- virtual void OnStreamHeaders(QuicStreamId stream_id, |
- base::StringPiece headers_data); |
- // Called by |headers_stream_| when headers with a priority have been |
- // received for this stream. This method will only be called for server |
- // streams. |
- virtual void OnStreamHeadersPriority(QuicStreamId stream_id, |
- SpdyPriority priority); |
- // Called by |headers_stream_| when headers have been completely received |
- // for a stream. |fin| will be true if the fin flag was set in the headers |
- // frame. |
- virtual void OnStreamHeadersComplete(QuicStreamId stream_id, |
- bool fin, |
- size_t frame_len); |
- |
- // Called by |headers_stream_| when headers have been completely received |
- // for a stream. |fin| will be true if the fin flag was set in the headers |
- // frame. |
- virtual void OnStreamHeaderList(QuicStreamId stream_id, |
- bool fin, |
- size_t frame_len, |
- const QuicHeaderList& header_list); |
- |
- // Called by |headers_stream_| when push promise headers have been |
- // received for a stream. |
- virtual void OnPromiseHeaders(QuicStreamId stream_id, |
- base::StringPiece headers_data); |
- |
- // Called by |headers_stream_| when push promise headers have been |
- // completely received. |fin| will be true if the fin flag was set |
- // in the headers. |
- virtual void OnPromiseHeadersComplete(QuicStreamId stream_id, |
- QuicStreamId promised_stream_id, |
- size_t frame_len); |
- |
- // Called by |headers_stream_| when push promise headers have been |
- // completely received. |fin| will be true if the fin flag was set |
- // in the headers. |
- virtual void OnPromiseHeaderList(QuicStreamId stream_id, |
- QuicStreamId promised_stream_id, |
- size_t frame_len, |
- const QuicHeaderList& header_list); |
- |
- // Writes |headers| for the stream |id| to the dedicated headers stream. |
- // If |fin| is true, then no more data will be sent for the stream |id|. |
- // If provided, |ack_notifier_delegate| will be registered to be notified when |
- // we have seen ACKs for all packets resulting from this call. |
- virtual size_t WriteHeaders(QuicStreamId id, |
- SpdyHeaderBlock headers, |
- bool fin, |
- SpdyPriority priority, |
- QuicAckListenerInterface* ack_notifier_delegate); |
- |
- QuicHeadersStream* headers_stream() { return headers_stream_.get(); } |
- |
- // Called when Head of Line Blocking happens in the headers stream. |
- // |delta| indicates how long that piece of data has been blocked. |
- virtual void OnHeadersHeadOfLineBlocking(QuicTime::Delta delta); |
- |
- // Called by the stream on creation to set priority in the write blocked list. |
- void RegisterStreamPriority(QuicStreamId id, SpdyPriority priority); |
- // Called by the stream on deletion to clear priority crom the write blocked |
- // list. |
- void UnregisterStreamPriority(QuicStreamId id); |
- // Called by the stream on SetPriority to update priority on the write blocked |
- // list. |
- void UpdateStreamPriority(QuicStreamId id, SpdyPriority new_priority); |
- |
- void OnConfigNegotiated() override; |
- |
- // Called by |headers_stream_| when |force_hol_blocking_| is true. |
- virtual void OnStreamFrameData(QuicStreamId stream_id, |
- const char* data, |
- size_t len, |
- bool fin); |
- |
- bool force_hol_blocking() const { return force_hol_blocking_; } |
- |
- protected: |
- // Override CreateIncomingDynamicStream() and CreateOutgoingDynamicStream() |
- // with QuicSpdyStream return type to make sure that all data streams are |
- // QuicSpdyStreams. |
- QuicSpdyStream* CreateIncomingDynamicStream(QuicStreamId id) override = 0; |
- QuicSpdyStream* CreateOutgoingDynamicStream(SpdyPriority priority) override = |
- 0; |
- |
- QuicSpdyStream* GetSpdyDataStream(const QuicStreamId stream_id); |
- |
- // If an incoming stream can be created, return true. |
- virtual bool ShouldCreateIncomingDynamicStream(QuicStreamId id) = 0; |
- |
- // If an outgoing stream can be created, return true. |
- virtual bool ShouldCreateOutgoingDynamicStream() = 0; |
- |
- private: |
- friend class test::QuicSpdySessionPeer; |
- |
- std::unique_ptr<QuicHeadersStream> headers_stream_; |
- |
- // If set, redirect all data through the headers stream in order to |
- // simulate forced HOL blocking between streams as happens in |
- // HTTP/2 over TCP. |
- bool force_hol_blocking_; |
- |
- DISALLOW_COPY_AND_ASSIGN(QuicSpdySession); |
-}; |
- |
-} // namespace net |
- |
-#endif // NET_QUIC_QUIC_SPDY_SESSION_H_ |