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)#include "net/quic/test_tools/quic_session_peer.h"
62a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
72a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#include "net/quic/quic_session.h"
8868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)#include "net/quic/reliable_quic_stream.h"
92a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
102a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)namespace net {
112a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)namespace test {
122a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
132a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)// static
1490dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)void QuicSessionPeer::SetNextStreamId(QuicSession* session, QuicStreamId id) {
152a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  session->next_stream_id_ = id;
162a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)}
172a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
1890dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)// static
1990dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)void QuicSessionPeer::SetMaxOpenStreams(QuicSession* session,
2090dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)                                        uint32 max_streams) {
2190dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)  session->max_open_streams_ = max_streams;
2290dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)}
2390dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)
24868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)// static
25116680a4aac90f2aa7413d9095a592090648e557Ben MurdochQuicCryptoStream* QuicSessionPeer::GetCryptoStream(QuicSession* session) {
26116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch  return session->GetCryptoStream();
27116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch}
28116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch
29116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch// static
305d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)QuicHeadersStream* QuicSessionPeer::GetHeadersStream(QuicSession* session) {
315d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)  return session->headers_stream_.get();
325d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)}
335d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)
345d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)// static
35cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)void QuicSessionPeer::SetHeadersStream(QuicSession* session,
36cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)                                       QuicHeadersStream* headers_stream) {
37cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)  session->headers_stream_.reset(headers_stream);
38cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)}
39cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)
40cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)// static
41cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)QuicWriteBlockedList* QuicSessionPeer::GetWriteBlockedStreams(
42868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)    QuicSession* session) {
43868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)  return &session->write_blocked_streams_;
44868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)}
45868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)
465d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)// static
475d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)QuicDataStream* QuicSessionPeer::GetIncomingDataStream(
485d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)    QuicSession* session,
495d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)    QuicStreamId stream_id) {
505d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)  return session->GetIncomingDataStream(stream_id);
515d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)}
525d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)
536e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles)// static
546e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles)map<QuicStreamId, QuicStreamOffset>&
556e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles)QuicSessionPeer::GetLocallyClosedStreamsHighestOffset(QuicSession* session) {
566e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles)  return session->locally_closed_streams_highest_offset_;
576e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles)}
586e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles)
592a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)}  // namespace test
602a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)}  // namespace net
61