blob: 40d4b86dc2cb46e439152a60a0958a0806b41038 [file] [log] [blame]
// 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)
: QuicSession(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