| // 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 "quic/test_tools/quic_stream_peer.h" | 
 |  | 
 | #include <list> | 
 |  | 
 | #include "quic/core/quic_stream.h" | 
 | #include "quic/core/quic_types.h" | 
 | #include "quic/test_tools/quic_flow_controller_peer.h" | 
 | #include "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 |