blob: 963570cc6aff0c283c8b870226ee6855e1248519 [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.
#ifndef QUICHE_QUIC_TEST_TOOLS_QUIC_STREAM_PEER_H_
#define QUICHE_QUIC_TEST_TOOLS_QUIC_STREAM_PEER_H_
#include <cstdint>
#include "quic/core/quic_packets.h"
#include "quic/core/quic_stream_send_buffer.h"
#include "quic/core/quic_stream_sequencer.h"
#include "quic/core/quic_types.h"
namespace quic {
class QuicStream;
class QuicSession;
namespace test {
class QuicStreamPeer {
public:
QuicStreamPeer() = delete;
static void SetWriteSideClosed(bool value, QuicStream* stream);
static void SetStreamBytesWritten(QuicStreamOffset stream_bytes_written,
QuicStream* stream);
static void SetSendWindowOffset(QuicStream* stream, QuicStreamOffset offset);
static void SetReceiveWindowOffset(QuicStream* stream,
QuicStreamOffset offset);
static void SetMaxReceiveWindow(QuicStream* stream, QuicStreamOffset size);
static bool read_side_closed(QuicStream* stream);
static void CloseReadSide(QuicStream* stream);
static QuicByteCount bytes_consumed(QuicStream* stream);
static QuicByteCount ReceiveWindowSize(QuicStream* stream);
static QuicByteCount SendWindowSize(QuicStream* stream);
static QuicStreamOffset SendWindowOffset(QuicStream* stream);
static QuicStreamOffset ReceiveWindowOffset(QuicStream* stream);
static bool StreamContributesToConnectionFlowControl(QuicStream* stream);
static QuicStreamSequencer* sequencer(QuicStream* stream);
static QuicSession* session(QuicStream* stream);
static void SetFinReceived(QuicStream* stream);
static void SetFinSent(QuicStream* stream);
static QuicStreamSendBuffer& SendBuffer(QuicStream* stream);
};
} // namespace test
} // namespace quic
#endif // QUICHE_QUIC_TEST_TOOLS_QUIC_STREAM_PEER_H_