10529e5d033099cbfc42635f6f6183833b09dff6eBen Murdoch// Copyright 2014 The Chromium Authors. All rights reserved.
20529e5d033099cbfc42635f6f6183833b09dff6eBen Murdoch// Use of this source code is governed by a BSD-style license that can be
30529e5d033099cbfc42635f6f6183833b09dff6eBen Murdoch// found in the LICENSE file.
40529e5d033099cbfc42635f6f6183833b09dff6eBen Murdoch
50529e5d033099cbfc42635f6f6183833b09dff6eBen Murdoch#ifndef NET_QUIC_TEST_TOOLS_QUIC_CONFIG_PEER_H_
60529e5d033099cbfc42635f6f6183833b09dff6eBen Murdoch#define NET_QUIC_TEST_TOOLS_QUIC_CONFIG_PEER_H_
70529e5d033099cbfc42635f6f6183833b09dff6eBen Murdoch
80529e5d033099cbfc42635f6f6183833b09dff6eBen Murdoch#include "net/quic/quic_protocol.h"
90529e5d033099cbfc42635f6f6183833b09dff6eBen Murdoch
100529e5d033099cbfc42635f6f6183833b09dff6eBen Murdochnamespace net {
110529e5d033099cbfc42635f6f6183833b09dff6eBen Murdoch
120529e5d033099cbfc42635f6f6183833b09dff6eBen Murdochclass QuicConfig;
130529e5d033099cbfc42635f6f6183833b09dff6eBen Murdoch
140529e5d033099cbfc42635f6f6183833b09dff6eBen Murdochnamespace test {
150529e5d033099cbfc42635f6f6183833b09dff6eBen Murdoch
160529e5d033099cbfc42635f6f6183833b09dff6eBen Murdochclass QuicConfigPeer {
170529e5d033099cbfc42635f6f6183833b09dff6eBen Murdoch public:
180529e5d033099cbfc42635f6f6183833b09dff6eBen Murdoch  static void SetReceivedInitialWindow(QuicConfig* config,
190529e5d033099cbfc42635f6f6183833b09dff6eBen Murdoch                                       size_t initial_window);
200529e5d033099cbfc42635f6f6183833b09dff6eBen Murdoch
210529e5d033099cbfc42635f6f6183833b09dff6eBen Murdoch  static void SetReceivedLossDetection(QuicConfig* config,
220529e5d033099cbfc42635f6f6183833b09dff6eBen Murdoch                                       QuicTag loss_detection);
230529e5d033099cbfc42635f6f6183833b09dff6eBen Murdoch
246d86b77056ed63eb6871182f42a9fd5f07550f90Torne (Richard Coles)  // TODO(rjshade): Remove when removing QUIC_VERSION_19.
250529e5d033099cbfc42635f6f6183833b09dff6eBen Murdoch  static void SetReceivedInitialFlowControlWindow(QuicConfig* config,
260529e5d033099cbfc42635f6f6183833b09dff6eBen Murdoch                                                  uint32 window_bytes);
270529e5d033099cbfc42635f6f6183833b09dff6eBen Murdoch
286d86b77056ed63eb6871182f42a9fd5f07550f90Torne (Richard Coles)  static void SetReceivedInitialStreamFlowControlWindow(QuicConfig* config,
296d86b77056ed63eb6871182f42a9fd5f07550f90Torne (Richard Coles)                                                        uint32 window_bytes);
306d86b77056ed63eb6871182f42a9fd5f07550f90Torne (Richard Coles)
316d86b77056ed63eb6871182f42a9fd5f07550f90Torne (Richard Coles)  static void SetReceivedInitialSessionFlowControlWindow(QuicConfig* config,
326d86b77056ed63eb6871182f42a9fd5f07550f90Torne (Richard Coles)                                                         uint32 window_bytes);
336d86b77056ed63eb6871182f42a9fd5f07550f90Torne (Richard Coles)
34116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch  static void SetReceivedConnectionOptions(QuicConfig* config,
35116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch                                           const QuicTagVector& options);
36116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch
370529e5d033099cbfc42635f6f6183833b09dff6eBen Murdoch private:
380529e5d033099cbfc42635f6f6183833b09dff6eBen Murdoch  DISALLOW_COPY_AND_ASSIGN(QuicConfigPeer);
390529e5d033099cbfc42635f6f6183833b09dff6eBen Murdoch};
400529e5d033099cbfc42635f6f6183833b09dff6eBen Murdoch
410529e5d033099cbfc42635f6f6183833b09dff6eBen Murdoch}  // namespace test
420529e5d033099cbfc42635f6f6183833b09dff6eBen Murdoch
430529e5d033099cbfc42635f6f6183833b09dff6eBen Murdoch}  // namespace net
440529e5d033099cbfc42635f6f6183833b09dff6eBen Murdoch
450529e5d033099cbfc42635f6f6183833b09dff6eBen Murdoch#endif  // NET_QUIC_TEST_TOOLS_QUIC_CONFIG_PEER_H_
46