Land Recent QUIC Changes.
[chromium-blink-merge.git] / net / quic / test_tools / quic_session_peer.h
blob4a88c88fba05d2d23ccbdc65e81c83729cbbc7cc
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.
5 #ifndef NET_QUIC_TEST_TOOLS_QUIC_SESSION_PEER_H_
6 #define NET_QUIC_TEST_TOOLS_QUIC_SESSION_PEER_H_
8 #include <map>
10 #include "net/quic/quic_protocol.h"
11 #include "net/quic/quic_write_blocked_list.h"
13 namespace net {
15 class QuicCryptoStream;
16 class QuicDataStream;
17 class QuicHeadersStream;
18 class QuicSession;
20 namespace test {
22 class QuicSessionPeer {
23 public:
24 static void SetNextStreamId(QuicSession* session, QuicStreamId id);
25 static void SetMaxOpenStreams(QuicSession* session, uint32 max_streams);
26 static QuicCryptoStream* GetCryptoStream(QuicSession* session);
27 static QuicHeadersStream* GetHeadersStream(QuicSession* session);
28 static void SetHeadersStream(QuicSession* session,
29 QuicHeadersStream* headers_stream);
30 static QuicWriteBlockedList* GetWriteBlockedStreams(QuicSession* session);
31 static QuicDataStream* GetIncomingDataStream(QuicSession* session,
32 QuicStreamId stream_id);
33 static std::map<QuicStreamId, QuicStreamOffset>&
34 GetLocallyClosedStreamsHighestOffset(QuicSession* session);
36 private:
37 DISALLOW_COPY_AND_ASSIGN(QuicSessionPeer);
40 } // namespace test
41 } // namespace net
43 #endif // NET_QUIC_TEST_TOOLS_QUIC_SESSION_PEER_H_