blob: 740263d2d5956a6c0e78af967b0c88fb5d7d0049 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
|
// Copyright 2014 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.
#include "net/quic/quic_client_session_base.h"
#include "net/quic/quic_flags.h"
namespace net {
QuicClientSessionBase::QuicClientSessionBase(QuicConnection* connection,
const QuicConfig& config)
: QuicSpdySession(connection, config) {}
QuicClientSessionBase::~QuicClientSessionBase() {}
void QuicClientSessionBase::OnCryptoHandshakeEvent(CryptoHandshakeEvent event) {
QuicSession::OnCryptoHandshakeEvent(event);
// Set FEC policy for streams immediately after sending CHLO and before any
// more data is sent.
if (!FLAGS_enable_quic_fec || event != ENCRYPTION_FIRST_ESTABLISHED ||
!config()->HasSendConnectionOptions() ||
!ContainsQuicTag(config()->SendConnectionOptions(), kFHDR)) {
return;
}
// kFHDR config maps to FEC protection always for headers stream.
// TODO(jri): Add crypto stream in addition to headers for kHDR.
headers_stream()->set_fec_policy(FEC_PROTECT_ALWAYS);
}
} // namespace net
|