diff options
Diffstat (limited to 'chromium/net/third_party/quiche/src/quiche/quic/test_tools/quic_dispatcher_peer.h')
-rw-r--r-- | chromium/net/third_party/quiche/src/quiche/quic/test_tools/quic_dispatcher_peer.h | 82 |
1 files changed, 82 insertions, 0 deletions
diff --git a/chromium/net/third_party/quiche/src/quiche/quic/test_tools/quic_dispatcher_peer.h b/chromium/net/third_party/quiche/src/quiche/quic/test_tools/quic_dispatcher_peer.h new file mode 100644 index 00000000000..1238a89b185 --- /dev/null +++ b/chromium/net/third_party/quiche/src/quiche/quic/test_tools/quic_dispatcher_peer.h @@ -0,0 +1,82 @@ +// Copyright 2013 The Chromium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#ifndef QUICHE_QUIC_TEST_TOOLS_QUIC_DISPATCHER_PEER_H_ +#define QUICHE_QUIC_TEST_TOOLS_QUIC_DISPATCHER_PEER_H_ + +#include "quiche/quic/core/quic_connection_id.h" +#include "quiche/quic/core/quic_dispatcher.h" + +namespace quic { + +class QuicPacketWriterWrapper; + +namespace test { + +class QuicDispatcherPeer { + public: + QuicDispatcherPeer() = delete; + + static QuicTimeWaitListManager* GetTimeWaitListManager( + QuicDispatcher* dispatcher); + + static void SetTimeWaitListManager( + QuicDispatcher* dispatcher, + QuicTimeWaitListManager* time_wait_list_manager); + + // Injects |writer| into |dispatcher| as the shared writer. + static void UseWriter(QuicDispatcher* dispatcher, + QuicPacketWriterWrapper* writer); + + static QuicPacketWriter* GetWriter(QuicDispatcher* dispatcher); + + static QuicCompressedCertsCache* GetCache(QuicDispatcher* dispatcher); + + static QuicConnectionHelperInterface* GetHelper(QuicDispatcher* dispatcher); + + static QuicAlarmFactory* GetAlarmFactory(QuicDispatcher* dispatcher); + + static QuicDispatcher::WriteBlockedList* GetWriteBlockedList( + QuicDispatcher* dispatcher); + + // Get the dispatcher's record of the last error reported to its framer + // visitor's OnError() method. Then set that record to QUIC_NO_ERROR. + static QuicErrorCode GetAndClearLastError(QuicDispatcher* dispatcher); + + static QuicBufferedPacketStore* GetBufferedPackets( + QuicDispatcher* dispatcher); + + static void set_new_sessions_allowed_per_event_loop( + QuicDispatcher* dispatcher, size_t num_session_allowed); + + static void SendPublicReset( + QuicDispatcher* dispatcher, const QuicSocketAddress& self_address, + const QuicSocketAddress& peer_address, QuicConnectionId connection_id, + bool ietf_quic, size_t received_packet_length, + std::unique_ptr<QuicPerPacketContext> packet_context); + + static std::unique_ptr<QuicPerPacketContext> GetPerPacketContext( + QuicDispatcher* dispatcher); + + static void RestorePerPacketContext(QuicDispatcher* dispatcher, + std::unique_ptr<QuicPerPacketContext>); + + static std::string SelectAlpn(QuicDispatcher* dispatcher, + const std::vector<std::string>& alpns); + + // Get the first session in the session map. Returns nullptr if the map is + // empty. + static QuicSession* GetFirstSessionIfAny(QuicDispatcher* dispatcher); + + // Find the corresponding session if exsits. + static const QuicSession* FindSession(const QuicDispatcher* dispatcher, + QuicConnectionId id); + + static QuicAlarm* GetClearResetAddressesAlarm(QuicDispatcher* dispatcher); +}; + +} // namespace test +} // namespace quic + +#endif // QUICHE_QUIC_TEST_TOOLS_QUIC_DISPATCHER_PEER_H_ |