Home | History | Annotate | Download | only in quic
      1 // Copyright 2014 The Chromium Authors. All rights reserved.
      2 // Use of this source code is governed by a BSD-style license that can be
      3 // found in the LICENSE file.
      4 
      5 #include "net/quic/quic_client_session_base.h"
      6 
      7 #include "net/quic/quic_flags.h"
      8 
      9 namespace net {
     10 
     11 QuicClientSessionBase::QuicClientSessionBase(
     12     QuicConnection* connection,
     13     const QuicConfig& config)
     14     : QuicSession(connection, config) {}
     15 
     16 QuicClientSessionBase::~QuicClientSessionBase() {}
     17 
     18 void QuicClientSessionBase::OnCryptoHandshakeEvent(CryptoHandshakeEvent event) {
     19   QuicSession::OnCryptoHandshakeEvent(event);
     20   // Set FEC policy for streams immediately after sending CHLO and before any
     21   // more data is sent.
     22   if (!FLAGS_enable_quic_fec ||
     23       event != ENCRYPTION_FIRST_ESTABLISHED ||
     24       !config()->HasSendConnectionOptions() ||
     25       !ContainsQuicTag(config()->SendConnectionOptions(), kFHDR)) {
     26     return;
     27   }
     28   // kFHDR config maps to FEC protection always for headers stream.
     29   // TODO(jri): Add crypto stream in addition to headers for kHDR.
     30   headers_stream_->set_fec_policy(FEC_PROTECT_ALWAYS);
     31 }
     32 
     33 }  // namespace net
     34