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#ifndef NET_QUIC_TEST_TOOLS_QUIC_CONFIG_PEER_H_
6#define NET_QUIC_TEST_TOOLS_QUIC_CONFIG_PEER_H_
7
8#include "net/quic/quic_protocol.h"
9
10namespace net {
11
12class QuicConfig;
13
14namespace test {
15
16class QuicConfigPeer {
17 public:
18  static void SetReceivedInitialWindow(QuicConfig* config,
19                                       size_t initial_window);
20
21  static void SetReceivedLossDetection(QuicConfig* config,
22                                       QuicTag loss_detection);
23
24  // TODO(rjshade): Remove when removing QUIC_VERSION_19.
25  static void SetReceivedInitialFlowControlWindow(QuicConfig* config,
26                                                  uint32 window_bytes);
27
28  static void SetReceivedInitialStreamFlowControlWindow(QuicConfig* config,
29                                                        uint32 window_bytes);
30
31  static void SetReceivedInitialSessionFlowControlWindow(QuicConfig* config,
32                                                         uint32 window_bytes);
33
34  static void SetReceivedConnectionOptions(QuicConfig* config,
35                                           const QuicTagVector& options);
36
37 private:
38  DISALLOW_COPY_AND_ASSIGN(QuicConfigPeer);
39};
40
41}  // namespace test
42
43}  // namespace net
44
45#endif  // NET_QUIC_TEST_TOOLS_QUIC_CONFIG_PEER_H_
46