summaryrefslogtreecommitdiff
path: root/chromium/net/quic/core/quic_spdy_stream.cc
diff options
context:
space:
mode:
Diffstat (limited to 'chromium/net/quic/core/quic_spdy_stream.cc')
-rw-r--r--chromium/net/quic/core/quic_spdy_stream.cc29
1 files changed, 11 insertions, 18 deletions
diff --git a/chromium/net/quic/core/quic_spdy_stream.cc b/chromium/net/quic/core/quic_spdy_stream.cc
index 016587ca85c..48c17cdd8d5 100644
--- a/chromium/net/quic/core/quic_spdy_stream.cc
+++ b/chromium/net/quic/core/quic_spdy_stream.cc
@@ -26,23 +26,25 @@ namespace net {
" ")
QuicSpdyStream::QuicSpdyStream(QuicStreamId id, QuicSpdySession* spdy_session)
- : QuicStream(id, spdy_session),
+ : QuicStream(id, spdy_session, /*is_static=*/false),
spdy_session_(spdy_session),
visitor_(nullptr),
headers_decompressed_(false),
- priority_(kDefaultPriority),
trailers_decompressed_(false),
trailers_consumed_(false) {
DCHECK_NE(kCryptoStreamId, id);
// Don't receive any callbacks from the sequencer until headers
// are complete.
sequencer()->SetBlockedUntilFlush();
- spdy_session_->RegisterStreamPriority(id, priority_);
+ if (!session()->register_streams_early()) {
+ spdy_session_->RegisterStreamPriority(id, /*is_static=*/false, priority());
+ }
}
QuicSpdyStream::~QuicSpdyStream() {
- if (spdy_session_ != nullptr) {
- spdy_session_->UnregisterStreamPriority(id());
+ if (spdy_session_ != nullptr && !session()->register_streams_early()) {
+ spdy_session_->UnregisterStreamPriority(id(),
+ /*is_static=*/false);
}
}
@@ -51,7 +53,7 @@ size_t QuicSpdyStream::WriteHeaders(
bool fin,
QuicReferenceCountedPointer<QuicAckListenerInterface> ack_listener) {
size_t bytes_written = spdy_session_->WriteHeaders(
- id(), std::move(header_block), fin, priority_, std::move(ack_listener));
+ id(), std::move(header_block), fin, priority(), std::move(ack_listener));
if (fin) {
// TODO(rch): Add test to ensure fin_sent_ is set whenever a fin is sent.
set_fin_sent(true);
@@ -87,8 +89,9 @@ size_t QuicSpdyStream::WriteTrailers(
// Write the trailing headers with a FIN, and close stream for writing:
// trailers are the last thing to be sent on a stream.
const bool kFin = true;
- size_t bytes_written = spdy_session_->WriteHeaders(
- id(), std::move(trailer_block), kFin, priority_, std::move(ack_listener));
+ size_t bytes_written =
+ spdy_session_->WriteHeaders(id(), std::move(trailer_block), kFin,
+ priority(), std::move(ack_listener));
set_fin_sent(kFin);
// Trailers are the last thing to be sent on a stream, but if there is still
@@ -137,12 +140,6 @@ void QuicSpdyStream::ConsumeHeaderList() {
}
}
-void QuicSpdyStream::SetPriority(SpdyPriority priority) {
- DCHECK_EQ(0u, stream_bytes_written());
- priority_ = priority;
- spdy_session_->UpdateStreamPriority(id(), priority);
-}
-
void QuicSpdyStream::OnStreamHeadersPriority(SpdyPriority priority) {
DCHECK_EQ(Perspective::IS_SERVER, session()->connection()->perspective());
SetPriority(priority);
@@ -308,10 +305,6 @@ bool QuicSpdyStream::FinishedReadingTrailers() const {
}
}
-SpdyPriority QuicSpdyStream::priority() const {
- return priority_;
-}
-
void QuicSpdyStream::ClearSession() {
spdy_session_ = nullptr;
}