summaryrefslogtreecommitdiff
path: root/chromium/net/quic/quartc/quartc_session.cc
diff options
context:
space:
mode:
Diffstat (limited to 'chromium/net/quic/quartc/quartc_session.cc')
-rw-r--r--chromium/net/quic/quartc/quartc_session.cc28
1 files changed, 19 insertions, 9 deletions
diff --git a/chromium/net/quic/quartc/quartc_session.cc b/chromium/net/quic/quartc/quartc_session.cc
index 5bb483b297d..097f165d740 100644
--- a/chromium/net/quic/quartc/quartc_session.cc
+++ b/chromium/net/quic/quartc/quartc_session.cc
@@ -14,10 +14,6 @@ namespace net {
namespace {
-// Default priority for incoming QUIC streams.
-// TODO(zhihuang): Determine if this value is correct.
-static const SpdyPriority kDefaultPriority = 3;
-
// Arbitrary server port number for net::QuicCryptoClientConfig.
const int kQuicServerPort = 0;
@@ -165,8 +161,10 @@ QuicCryptoStream* QuartcSession::GetMutableCryptoStream() {
}
QuartcStream* QuartcSession::CreateOutgoingDynamicStream() {
- return ActivateDataStream(
- CreateDataStream(GetNextOutgoingStreamId(), kDefaultPriority));
+ // Use default priority for incoming QUIC streams.
+ // TODO(zhihuang): Determine if this value is correct.
+ return ActivateDataStream(CreateDataStream(GetNextOutgoingStreamId(),
+ QuicStream::kDefaultPriority));
}
void QuartcSession::OnCryptoHandshakeEvent(CryptoHandshakeEvent event) {
@@ -186,7 +184,9 @@ void QuartcSession::CloseStream(QuicStreamId stream_id) {
// QuicStream::OnClose), the stream is already closed so return.
return;
}
- write_blocked_streams()->UnregisterStream(stream_id);
+ if (!register_streams_early()) {
+ write_blocked_streams()->UnregisterStream(stream_id, /*is_static=*/false);
+ }
QuicSession::CloseStream(stream_id);
}
@@ -284,6 +284,11 @@ void QuartcSession::SetDelegate(
DCHECK(session_delegate_);
}
+void QuartcSession::SetSessionVisitor(QuartcSessionVisitor* debug_visitor) {
+ debug_visitor->SetQuicConnection(connection_.get());
+ connection_->set_debug_visitor(debug_visitor->GetConnectionVisitor());
+}
+
void QuartcSession::OnTransportCanWrite() {
connection()->writer()->SetWritable();
if (HasDataToWrite()) {
@@ -319,7 +324,7 @@ void QuartcSession::SetServerCryptoConfig(
}
QuicStream* QuartcSession::CreateIncomingDynamicStream(QuicStreamId id) {
- return ActivateDataStream(CreateDataStream(id, kDefaultPriority));
+ return ActivateDataStream(CreateDataStream(id, QuicStream::kDefaultPriority));
}
std::unique_ptr<QuartcStream> QuartcSession::CreateDataStream(
@@ -334,7 +339,12 @@ std::unique_ptr<QuartcStream> QuartcSession::CreateDataStream(
// Register the stream to the QuicWriteBlockedList. |priority| is clamped
// between 0 and 7, with 0 being the highest priority and 7 the lowest
// priority.
- write_blocked_streams()->RegisterStream(stream->id(), priority);
+ if (!register_streams_early()) {
+ write_blocked_streams()->RegisterStream(
+ stream->id(), /* is_static_stream= */ false, priority);
+ } else {
+ write_blocked_streams()->UpdateStreamPriority(stream->id(), priority);
+ }
if (IsIncomingStream(id)) {
DCHECK(session_delegate_);