blob: 2590834891cfdd5da6454cec9d1a949354782bf2 [file] [log] [blame]
QUICHE teama6ef0a62019-03-07 20:34:33 -05001// Copyright 2013 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#include "net/third_party/quiche/src/quic/test_tools/quic_dispatcher_peer.h"
6
7#include "net/third_party/quiche/src/quic/core/quic_dispatcher.h"
8#include "net/third_party/quiche/src/quic/core/quic_packet_writer_wrapper.h"
9
10namespace quic {
11namespace test {
12
13// static
14void QuicDispatcherPeer::SetTimeWaitListManager(
15 QuicDispatcher* dispatcher,
16 QuicTimeWaitListManager* time_wait_list_manager) {
17 dispatcher->time_wait_list_manager_.reset(time_wait_list_manager);
18}
19
20// static
21void QuicDispatcherPeer::UseWriter(QuicDispatcher* dispatcher,
22 QuicPacketWriterWrapper* writer) {
23 writer->set_writer(dispatcher->writer_.release());
24 dispatcher->writer_.reset(writer);
25}
26
27// static
28QuicPacketWriter* QuicDispatcherPeer::GetWriter(QuicDispatcher* dispatcher) {
29 return dispatcher->writer_.get();
30}
31
32// static
33QuicCompressedCertsCache* QuicDispatcherPeer::GetCache(
34 QuicDispatcher* dispatcher) {
35 return dispatcher->compressed_certs_cache();
36}
37
38// static
39QuicConnectionHelperInterface* QuicDispatcherPeer::GetHelper(
40 QuicDispatcher* dispatcher) {
41 return dispatcher->helper_.get();
42}
43
44// static
45QuicAlarmFactory* QuicDispatcherPeer::GetAlarmFactory(
46 QuicDispatcher* dispatcher) {
47 return dispatcher->alarm_factory_.get();
48}
49
50// static
51QuicDispatcher::WriteBlockedList* QuicDispatcherPeer::GetWriteBlockedList(
52 QuicDispatcher* dispatcher) {
53 return &dispatcher->write_blocked_list_;
54}
55
56// static
57QuicErrorCode QuicDispatcherPeer::GetAndClearLastError(
58 QuicDispatcher* dispatcher) {
59 QuicErrorCode ret = dispatcher->last_error_;
60 dispatcher->last_error_ = QUIC_NO_ERROR;
61 return ret;
62}
63
64// static
65QuicBufferedPacketStore* QuicDispatcherPeer::GetBufferedPackets(
66 QuicDispatcher* dispatcher) {
67 return &(dispatcher->buffered_packets_);
68}
69
70// static
71const QuicDispatcher::SessionMap& QuicDispatcherPeer::session_map(
72 QuicDispatcher* dispatcher) {
73 return dispatcher->session_map();
74}
75
76// static
77void QuicDispatcherPeer::set_new_sessions_allowed_per_event_loop(
78 QuicDispatcher* dispatcher,
79 size_t num_session_allowed) {
80 return dispatcher->set_new_sessions_allowed_per_event_loop(
81 num_session_allowed);
82}
83
84// static
85void QuicDispatcherPeer::SendPublicReset(
86 QuicDispatcher* dispatcher,
87 const QuicSocketAddress& self_address,
88 const QuicSocketAddress& peer_address,
89 QuicConnectionId connection_id,
90 bool ietf_quic,
91 std::unique_ptr<QuicPerPacketContext> packet_context) {
92 dispatcher->time_wait_list_manager()->SendPublicReset(
93 self_address, peer_address, connection_id, ietf_quic,
94 std::move(packet_context));
95}
96
97// static
98std::unique_ptr<QuicPerPacketContext> QuicDispatcherPeer::GetPerPacketContext(
99 QuicDispatcher* dispatcher) {
100 return dispatcher->GetPerPacketContext();
101}
102
103// static
104void QuicDispatcherPeer::RestorePerPacketContext(
105 QuicDispatcher* dispatcher,
106 std::unique_ptr<QuicPerPacketContext> context) {
107 dispatcher->RestorePerPacketContext(std::move(context));
108}
109
110} // namespace test
111} // namespace quic