reliable_quic_stream_peer.h revision e5d81f57cb97b3b6b7fccc9c5610d21eb81db09d
12a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)// Copyright (c) 2012 The Chromium Authors. All rights reserved. 22a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)// Use of this source code is governed by a BSD-style license that can be 32a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)// found in the LICENSE file. 42a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 52a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#ifndef NET_QUIC_TEST_TOOLS_RELIABLE_QUIC_STREAM_PEER_H_ 62a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#define NET_QUIC_TEST_TOOLS_RELIABLE_QUIC_STREAM_PEER_H_ 72a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 82a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#include "base/basictypes.h" 92a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#include "net/quic/quic_protocol.h" 102a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 112a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)namespace net { 122a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 132a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)class ReliableQuicStream; 142a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 152a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)namespace test { 162a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 172a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)class ReliableQuicStreamPeer { 182a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) public: 192a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) static void SetWriteSideClosed(bool value, ReliableQuicStream* stream); 202a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) static void SetStreamBytesWritten(QuicStreamOffset stream_bytes_written, 212a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) ReliableQuicStream* stream); 225d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) static void CloseReadSide(ReliableQuicStream* stream); 235d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) 245d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) static bool FinSent(ReliableQuicStream* stream); 255d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) static bool RstSent(ReliableQuicStream* stream); 262a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 27e5d81f57cb97b3b6b7fccc9c5610d21eb81db09dBen Murdoch static void SetFlowControlSendOffset(ReliableQuicStream* stream, 28e5d81f57cb97b3b6b7fccc9c5610d21eb81db09dBen Murdoch QuicStreamOffset offset); 29e5d81f57cb97b3b6b7fccc9c5610d21eb81db09dBen Murdoch static void SetFlowControlReceiveOffset(ReliableQuicStream* stream, 30e5d81f57cb97b3b6b7fccc9c5610d21eb81db09dBen Murdoch QuicStreamOffset offset); 31e5d81f57cb97b3b6b7fccc9c5610d21eb81db09dBen Murdoch static void SetFlowControlMaxReceiveWindow(ReliableQuicStream* stream, 32e5d81f57cb97b3b6b7fccc9c5610d21eb81db09dBen Murdoch uint64 window_size); 33e5d81f57cb97b3b6b7fccc9c5610d21eb81db09dBen Murdoch static QuicStreamOffset SendWindowOffset(ReliableQuicStream* stream); 34e5d81f57cb97b3b6b7fccc9c5610d21eb81db09dBen Murdoch static uint64 SendWindowSize(ReliableQuicStream* stream); 35e5d81f57cb97b3b6b7fccc9c5610d21eb81db09dBen Murdoch static QuicStreamOffset ReceiveWindowOffset(ReliableQuicStream* stream); 36e5d81f57cb97b3b6b7fccc9c5610d21eb81db09dBen Murdoch static uint64 ReceiveWindowSize(ReliableQuicStream* stream); 37e5d81f57cb97b3b6b7fccc9c5610d21eb81db09dBen Murdoch 38e5d81f57cb97b3b6b7fccc9c5610d21eb81db09dBen Murdoch static uint32 SizeOfQueuedData(ReliableQuicStream* stream); 39e5d81f57cb97b3b6b7fccc9c5610d21eb81db09dBen Murdoch 402a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) private: 412a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) DISALLOW_COPY_AND_ASSIGN(ReliableQuicStreamPeer); 422a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)}; 432a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 442a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)} // namespace test 452a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)} // namespace net 462a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 472a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#endif // NET_QUIC_TEST_TOOLS_RELIABLE_QUIC_STREAM_PEER_H_ 48