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 3403b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles)void QuicDispatcherPeer::SetPacketWriterFactory( 3503b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles) QuicDispatcher* dispatcher, 3603b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles) QuicDispatcher::PacketWriterFactory* packet_writer_factory) { 3703b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles) dispatcher->packet_writer_factory_.reset(packet_writer_factory); 3803b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles)} 3903b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles) 4003b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles)// static 411e9bf3e0803691d0a228da41fc608347b6db4340Torne (Richard Coles)QuicEpollConnectionHelper* QuicDispatcherPeer::GetHelper( 421e9bf3e0803691d0a228da41fc608347b6db4340Torne (Richard Coles) QuicDispatcher* dispatcher) { 431e9bf3e0803691d0a228da41fc608347b6db4340Torne (Richard Coles) return dispatcher->helper_.get(); 441e9bf3e0803691d0a228da41fc608347b6db4340Torne (Richard Coles)} 451e9bf3e0803691d0a228da41fc608347b6db4340Torne (Richard Coles) 46e5d81f57cb97b3b6b7fccc9c5610d21eb81db09dBen Murdoch// static 47e5d81f57cb97b3b6b7fccc9c5610d21eb81db09dBen MurdochQuicConnection* QuicDispatcherPeer::CreateQuicConnection( 48e5d81f57cb97b3b6b7fccc9c5610d21eb81db09dBen Murdoch QuicDispatcher* dispatcher, 49e5d81f57cb97b3b6b7fccc9c5610d21eb81db09dBen Murdoch QuicConnectionId connection_id, 50e5d81f57cb97b3b6b7fccc9c5610d21eb81db09dBen Murdoch const IPEndPoint& server, 51cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) const IPEndPoint& client) { 52e5d81f57cb97b3b6b7fccc9c5610d21eb81db09dBen Murdoch return dispatcher->CreateQuicConnection(connection_id, 53e5d81f57cb97b3b6b7fccc9c5610d21eb81db09dBen Murdoch server, 54cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) client); 55e5d81f57cb97b3b6b7fccc9c5610d21eb81db09dBen Murdoch} 56e5d81f57cb97b3b6b7fccc9c5610d21eb81db09dBen Murdoch 57116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch// static 58116680a4aac90f2aa7413d9095a592090648e557Ben MurdochQuicDispatcher::WriteBlockedList* QuicDispatcherPeer::GetWriteBlockedList( 59116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch QuicDispatcher* dispatcher) { 60116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch return &dispatcher->write_blocked_list_; 61116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch} 62116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch 631e9bf3e0803691d0a228da41fc608347b6db4340Torne (Richard Coles)} // namespace test 641e9bf3e0803691d0a228da41fc608347b6db4340Torne (Richard Coles)} // namespace tools 651e9bf3e0803691d0a228da41fc608347b6db4340Torne (Richard Coles)} // namespace net 66