blob: 0fdaa58dd9eaf221fb99ed029b1290e4ef80b8bb [file] [log] [blame]
// Copyright (c) 2012 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 "quiche/quic/test_tools/quic_stream_peer.h"
#include <list>
#include "quiche/quic/core/quic_stream.h"
#include "quiche/quic/core/quic_types.h"
#include "quiche/quic/test_tools/quic_flow_controller_peer.h"
#include "quiche/quic/test_tools/quic_stream_send_buffer_peer.h"
namespace quic {
namespace test {
// static
void QuicStreamPeer::SetWriteSideClosed(bool value, QuicStream* stream) {
stream->write_side_closed_ = value;
}
// static
void QuicStreamPeer::SetStreamBytesWritten(
QuicStreamOffset stream_bytes_written, QuicStream* stream) {
stream->send_buffer_.stream_bytes_written_ = stream_bytes_written;
stream->send_buffer_.stream_bytes_outstanding_ = stream_bytes_written;
QuicStreamSendBufferPeer::SetStreamOffset(&stream->send_buffer_,
stream_bytes_written);
}
// static
void QuicStreamPeer::SetSendWindowOffset(QuicStream* stream,
QuicStreamOffset offset) {
QuicFlowControllerPeer::SetSendWindowOffset(&*stream->flow_controller_,
offset);
}
// static
QuicByteCount QuicStreamPeer::bytes_consumed(QuicStream* stream) {
return stream->flow_controller_->bytes_consumed();
}
// static
void QuicStreamPeer::SetReceiveWindowOffset(QuicStream* stream,
QuicStreamOffset offset) {
QuicFlowControllerPeer::SetReceiveWindowOffset(&*stream->flow_controller_,
offset);
}
// static
void QuicStreamPeer::SetMaxReceiveWindow(QuicStream* stream,
QuicStreamOffset size) {
QuicFlowControllerPeer::SetMaxReceiveWindow(&*stream->flow_controller_, size);
}
// static
QuicByteCount QuicStreamPeer::SendWindowSize(QuicStream* stream) {
return stream->flow_controller_->SendWindowSize();
}
// static
QuicStreamOffset QuicStreamPeer::ReceiveWindowOffset(QuicStream* stream) {
return QuicFlowControllerPeer::ReceiveWindowOffset(
&*stream->flow_controller_);
}
// static
QuicByteCount QuicStreamPeer::ReceiveWindowSize(QuicStream* stream) {
return QuicFlowControllerPeer::ReceiveWindowSize(&*stream->flow_controller_);
}
// static
QuicStreamOffset QuicStreamPeer::SendWindowOffset(QuicStream* stream) {
return stream->flow_controller_->send_window_offset();
}
// static
bool QuicStreamPeer::read_side_closed(QuicStream* stream) {
return stream->read_side_closed_;
}
// static
void QuicStreamPeer::CloseReadSide(QuicStream* stream) {
stream->CloseReadSide();
}
// static
bool QuicStreamPeer::StreamContributesToConnectionFlowControl(
QuicStream* stream) {
return stream->stream_contributes_to_connection_flow_control_;
}
// static
QuicStreamSequencer* QuicStreamPeer::sequencer(QuicStream* stream) {
return &(stream->sequencer_);
}
// static
QuicSession* QuicStreamPeer::session(QuicStream* stream) {
return stream->session();
}
// static
QuicStreamSendBuffer& QuicStreamPeer::SendBuffer(QuicStream* stream) {
return stream->send_buffer_;
}
// static
void QuicStreamPeer::SetFinReceived(QuicStream* stream) {
stream->fin_received_ = true;
}
// static
void QuicStreamPeer::SetFinSent(QuicStream* stream) {
stream->fin_sent_ = true;
}
} // namespace test
} // namespace quic