11e9bf3e0803691d0a228da41fc608347b6db4340Torne (Richard Coles)// Copyright 2013 The Chromium Authors. All rights reserved.
21e9bf3e0803691d0a228da41fc608347b6db4340Torne (Richard Coles)// Use of this source code is governed by a BSD-style license that can be
31e9bf3e0803691d0a228da41fc608347b6db4340Torne (Richard Coles)// found in the LICENSE file.
41e9bf3e0803691d0a228da41fc608347b6db4340Torne (Richard Coles)
51e9bf3e0803691d0a228da41fc608347b6db4340Torne (Richard Coles)#include "net/tools/quic/test_tools/quic_dispatcher_peer.h"
61e9bf3e0803691d0a228da41fc608347b6db4340Torne (Richard Coles)
71e9bf3e0803691d0a228da41fc608347b6db4340Torne (Richard Coles)#include "net/tools/quic/quic_dispatcher.h"
85d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)#include "net/tools/quic/quic_packet_writer_wrapper.h"
91e9bf3e0803691d0a228da41fc608347b6db4340Torne (Richard Coles)
101e9bf3e0803691d0a228da41fc608347b6db4340Torne (Richard Coles)namespace net {
111e9bf3e0803691d0a228da41fc608347b6db4340Torne (Richard Coles)namespace tools {
121e9bf3e0803691d0a228da41fc608347b6db4340Torne (Richard Coles)namespace test {
131e9bf3e0803691d0a228da41fc608347b6db4340Torne (Richard Coles)
141e9bf3e0803691d0a228da41fc608347b6db4340Torne (Richard Coles)// static
151e9bf3e0803691d0a228da41fc608347b6db4340Torne (Richard Coles)void QuicDispatcherPeer::SetTimeWaitListManager(
161e9bf3e0803691d0a228da41fc608347b6db4340Torne (Richard Coles)    QuicDispatcher* dispatcher,
171e9bf3e0803691d0a228da41fc608347b6db4340Torne (Richard Coles)    QuicTimeWaitListManager* time_wait_list_manager) {
181e9bf3e0803691d0a228da41fc608347b6db4340Torne (Richard Coles)  dispatcher->time_wait_list_manager_.reset(time_wait_list_manager);
191e9bf3e0803691d0a228da41fc608347b6db4340Torne (Richard Coles)}
201e9bf3e0803691d0a228da41fc608347b6db4340Torne (Richard Coles)
211e9bf3e0803691d0a228da41fc608347b6db4340Torne (Richard Coles)// static
221e9bf3e0803691d0a228da41fc608347b6db4340Torne (Richard Coles)void QuicDispatcherPeer::UseWriter(QuicDispatcher* dispatcher,
235d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)                                   QuicPacketWriterWrapper* writer) {
245c02ac1a9c1b504631c0a3d2b6e737b5d738bae1Bo Liu  writer->set_writer(dispatcher->writer_.release());
255c02ac1a9c1b504631c0a3d2b6e737b5d738bae1Bo Liu  dispatcher->writer_.reset(writer);
261e9bf3e0803691d0a228da41fc608347b6db4340Torne (Richard Coles)}
271e9bf3e0803691d0a228da41fc608347b6db4340Torne (Richard Coles)
281e9bf3e0803691d0a228da41fc608347b6db4340Torne (Richard Coles)// static
295c02ac1a9c1b504631c0a3d2b6e737b5d738bae1Bo LiuQuicPacketWriter* QuicDispatcherPeer::GetWriter(QuicDispatcher* dispatcher) {
301e9bf3e0803691d0a228da41fc608347b6db4340Torne (Richard Coles)  return dispatcher->writer_.get();
311e9bf3e0803691d0a228da41fc608347b6db4340Torne (Richard Coles)}
321e9bf3e0803691d0a228da41fc608347b6db4340Torne (Richard Coles)
331e9bf3e0803691d0a228da41fc608347b6db4340Torne (Richard Coles)// static
341e9bf3e0803691d0a228da41fc608347b6db4340Torne (Richard Coles)QuicEpollConnectionHelper* QuicDispatcherPeer::GetHelper(
351e9bf3e0803691d0a228da41fc608347b6db4340Torne (Richard Coles)    QuicDispatcher* dispatcher) {
361e9bf3e0803691d0a228da41fc608347b6db4340Torne (Richard Coles)  return dispatcher->helper_.get();
371e9bf3e0803691d0a228da41fc608347b6db4340Torne (Richard Coles)}
381e9bf3e0803691d0a228da41fc608347b6db4340Torne (Richard Coles)
39e5d81f57cb97b3b6b7fccc9c5610d21eb81db09dBen Murdoch// static
40e5d81f57cb97b3b6b7fccc9c5610d21eb81db09dBen MurdochQuicConnection* QuicDispatcherPeer::CreateQuicConnection(
41e5d81f57cb97b3b6b7fccc9c5610d21eb81db09dBen Murdoch    QuicDispatcher* dispatcher,
42e5d81f57cb97b3b6b7fccc9c5610d21eb81db09dBen Murdoch    QuicConnectionId connection_id,
43e5d81f57cb97b3b6b7fccc9c5610d21eb81db09dBen Murdoch    const IPEndPoint& server,
44cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)    const IPEndPoint& client) {
45e5d81f57cb97b3b6b7fccc9c5610d21eb81db09dBen Murdoch  return dispatcher->CreateQuicConnection(connection_id,
46e5d81f57cb97b3b6b7fccc9c5610d21eb81db09dBen Murdoch                                          server,
47cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)                                          client);
48e5d81f57cb97b3b6b7fccc9c5610d21eb81db09dBen Murdoch}
49e5d81f57cb97b3b6b7fccc9c5610d21eb81db09dBen Murdoch
501e9bf3e0803691d0a228da41fc608347b6db4340Torne (Richard Coles)}  // namespace test
511e9bf3e0803691d0a228da41fc608347b6db4340Torne (Richard Coles)}  // namespace tools
521e9bf3e0803691d0a228da41fc608347b6db4340Torne (Richard Coles)}  // namespace net
53