xref: /aosp_15_r20/external/cronet/net/third_party/quiche/src/quiche/quic/test_tools/quic_stream_peer.h (revision 6777b5387eb2ff775bb5750e3f5d96f37fb7352b)
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