blob: f4b1de3165bac49df5f4f7e40ca77813363acf97 [file] [log] [blame]
QUICHE teama6ef0a62019-03-07 20:34:33 -05001// 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
QUICHE teama6ef0a62019-03-07 20:34:33 -050010#include "net/third_party/quiche/src/quic/core/quic_packets.h"
11#include "net/third_party/quiche/src/quic/core/quic_stream_send_buffer.h"
12#include "net/third_party/quiche/src/quic/core/quic_stream_sequencer.h"
QUICHE teama6ef0a62019-03-07 20:34:33 -050013
14namespace quic {
15
16class QuicStream;
17class QuicSession;
18
19namespace test {
20
21class QuicStreamPeer {
22 public:
23 QuicStreamPeer() = delete;
24
25 static void SetWriteSideClosed(bool value, QuicStream* stream);
26 static void SetStreamBytesWritten(QuicStreamOffset stream_bytes_written,
27 QuicStream* stream);
QUICHE teama6ef0a62019-03-07 20:34:33 -050028 static bool read_side_closed(QuicStream* stream);
29 static void CloseReadSide(QuicStream* stream);
30
QUICHE teama6ef0a62019-03-07 20:34:33 -050031 static bool StreamContributesToConnectionFlowControl(QuicStream* stream);
32
QUICHE teama6ef0a62019-03-07 20:34:33 -050033 static QuicStreamSequencer* sequencer(QuicStream* stream);
34 static QuicSession* session(QuicStream* stream);
35
36 static QuicStreamSendBuffer& SendBuffer(QuicStream* stream);
37};
38
39} // namespace test
40
41} // namespace quic
42
43#endif // QUICHE_QUIC_TEST_TOOLS_QUIC_STREAM_PEER_H_