// 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