1 // Copyright (c) 2012 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 QUICHE_QUIC_TEST_TOOLS_QUIC_STREAM_PEER_H_ 6 #define QUICHE_QUIC_TEST_TOOLS_QUIC_STREAM_PEER_H_ 7 8 #include <cstdint> 9 10 #include "quiche/quic/core/quic_packets.h" 11 #include "quiche/quic/core/quic_stream_send_buffer.h" 12 #include "quiche/quic/core/quic_stream_sequencer.h" 13 #include "quiche/quic/core/quic_types.h" 14 15 namespace quic { 16 17 class QuicStream; 18 class QuicSession; 19 20 namespace test { 21 22 class QuicStreamPeer { 23 public: 24 QuicStreamPeer() = delete; 25 26 static void SetWriteSideClosed(bool value, QuicStream* stream); 27 static void SetStreamBytesWritten(QuicStreamOffset stream_bytes_written, 28 QuicStream* stream); 29 static void SetSendWindowOffset(QuicStream* stream, QuicStreamOffset offset); 30 static void SetReceiveWindowOffset(QuicStream* stream, 31 QuicStreamOffset offset); 32 static void SetMaxReceiveWindow(QuicStream* stream, QuicStreamOffset size); 33 static bool read_side_closed(QuicStream* stream); 34 static void CloseReadSide(QuicStream* stream); 35 static QuicByteCount bytes_consumed(QuicStream* stream); 36 static QuicByteCount ReceiveWindowSize(QuicStream* stream); 37 static QuicByteCount SendWindowSize(QuicStream* stream); 38 static QuicStreamOffset SendWindowOffset(QuicStream* stream); 39 static QuicStreamOffset ReceiveWindowOffset(QuicStream* stream); 40 41 static bool StreamContributesToConnectionFlowControl(QuicStream* stream); 42 43 static QuicStreamSequencer* sequencer(QuicStream* stream); 44 static QuicSession* session(QuicStream* stream); 45 static void SetFinReceived(QuicStream* stream); 46 static void SetFinSent(QuicStream* stream); 47 48 static QuicStreamSendBuffer& SendBuffer(QuicStream* stream); 49 }; 50 51 } // namespace test 52 53 } // namespace quic 54 55 #endif // QUICHE_QUIC_TEST_TOOLS_QUIC_STREAM_PEER_H_ 56