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#include "net/quic/test_tools/quic_flow_controller_peer.h"
60529e5d033099cbfc42635f6f6183833b09dff6eBen Murdoch
70529e5d033099cbfc42635f6f6183833b09dff6eBen Murdoch#include <list>
80529e5d033099cbfc42635f6f6183833b09dff6eBen Murdoch
90529e5d033099cbfc42635f6f6183833b09dff6eBen Murdoch#include "net/quic/quic_flow_controller.h"
100529e5d033099cbfc42635f6f6183833b09dff6eBen Murdoch#include "net/quic/quic_protocol.h"
110529e5d033099cbfc42635f6f6183833b09dff6eBen Murdoch
120529e5d033099cbfc42635f6f6183833b09dff6eBen Murdochnamespace net {
130529e5d033099cbfc42635f6f6183833b09dff6eBen Murdochnamespace test {
140529e5d033099cbfc42635f6f6183833b09dff6eBen Murdoch
150529e5d033099cbfc42635f6f6183833b09dff6eBen Murdoch// static
160529e5d033099cbfc42635f6f6183833b09dff6eBen Murdochvoid QuicFlowControllerPeer::SetSendWindowOffset(
170529e5d033099cbfc42635f6f6183833b09dff6eBen Murdoch    QuicFlowController* flow_controller,
180529e5d033099cbfc42635f6f6183833b09dff6eBen Murdoch    uint64 offset) {
190529e5d033099cbfc42635f6f6183833b09dff6eBen Murdoch  flow_controller->send_window_offset_ = offset;
200529e5d033099cbfc42635f6f6183833b09dff6eBen Murdoch}
210529e5d033099cbfc42635f6f6183833b09dff6eBen Murdoch
220529e5d033099cbfc42635f6f6183833b09dff6eBen Murdoch// static
230529e5d033099cbfc42635f6f6183833b09dff6eBen Murdochvoid QuicFlowControllerPeer::SetReceiveWindowOffset(
240529e5d033099cbfc42635f6f6183833b09dff6eBen Murdoch    QuicFlowController* flow_controller,
250529e5d033099cbfc42635f6f6183833b09dff6eBen Murdoch    uint64 offset) {
260529e5d033099cbfc42635f6f6183833b09dff6eBen Murdoch  flow_controller->receive_window_offset_ = offset;
270529e5d033099cbfc42635f6f6183833b09dff6eBen Murdoch}
280529e5d033099cbfc42635f6f6183833b09dff6eBen Murdoch
290529e5d033099cbfc42635f6f6183833b09dff6eBen Murdoch// static
300529e5d033099cbfc42635f6f6183833b09dff6eBen Murdochvoid QuicFlowControllerPeer::SetMaxReceiveWindow(
310529e5d033099cbfc42635f6f6183833b09dff6eBen Murdoch    QuicFlowController* flow_controller, uint64 window_size) {
320529e5d033099cbfc42635f6f6183833b09dff6eBen Murdoch  flow_controller->max_receive_window_ = window_size;
330529e5d033099cbfc42635f6f6183833b09dff6eBen Murdoch}
340529e5d033099cbfc42635f6f6183833b09dff6eBen Murdoch
350529e5d033099cbfc42635f6f6183833b09dff6eBen Murdoch// static
360529e5d033099cbfc42635f6f6183833b09dff6eBen Murdochuint64 QuicFlowControllerPeer::SendWindowOffset(
370529e5d033099cbfc42635f6f6183833b09dff6eBen Murdoch    QuicFlowController* flow_controller) {
380529e5d033099cbfc42635f6f6183833b09dff6eBen Murdoch  return flow_controller->send_window_offset_;
390529e5d033099cbfc42635f6f6183833b09dff6eBen Murdoch}
400529e5d033099cbfc42635f6f6183833b09dff6eBen Murdoch
410529e5d033099cbfc42635f6f6183833b09dff6eBen Murdoch// static
420529e5d033099cbfc42635f6f6183833b09dff6eBen Murdochuint64 QuicFlowControllerPeer::SendWindowSize(
430529e5d033099cbfc42635f6f6183833b09dff6eBen Murdoch    QuicFlowController* flow_controller) {
440529e5d033099cbfc42635f6f6183833b09dff6eBen Murdoch  return flow_controller->SendWindowSize();
450529e5d033099cbfc42635f6f6183833b09dff6eBen Murdoch}
460529e5d033099cbfc42635f6f6183833b09dff6eBen Murdoch
470529e5d033099cbfc42635f6f6183833b09dff6eBen Murdoch// static
480529e5d033099cbfc42635f6f6183833b09dff6eBen Murdochuint64 QuicFlowControllerPeer::ReceiveWindowOffset(
490529e5d033099cbfc42635f6f6183833b09dff6eBen Murdoch    QuicFlowController* flow_controller) {
500529e5d033099cbfc42635f6f6183833b09dff6eBen Murdoch  return flow_controller->receive_window_offset_;
510529e5d033099cbfc42635f6f6183833b09dff6eBen Murdoch}
520529e5d033099cbfc42635f6f6183833b09dff6eBen Murdoch
530529e5d033099cbfc42635f6f6183833b09dff6eBen Murdoch// static
540529e5d033099cbfc42635f6f6183833b09dff6eBen Murdochuint64 QuicFlowControllerPeer::ReceiveWindowSize(
550529e5d033099cbfc42635f6f6183833b09dff6eBen Murdoch    QuicFlowController* flow_controller) {
560529e5d033099cbfc42635f6f6183833b09dff6eBen Murdoch  return flow_controller->receive_window_offset_ -
5746d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles)         flow_controller->highest_received_byte_offset_;
580529e5d033099cbfc42635f6f6183833b09dff6eBen Murdoch}
590529e5d033099cbfc42635f6f6183833b09dff6eBen Murdoch
600529e5d033099cbfc42635f6f6183833b09dff6eBen Murdoch}  // namespace test
610529e5d033099cbfc42635f6f6183833b09dff6eBen Murdoch}  // namespace net
62