xref: /aosp_15_r20/external/cronet/net/third_party/quiche/src/quiche/quic/core/io/quic_default_event_loop.h (revision 6777b5387eb2ff775bb5750e3f5d96f37fb7352b)
1 // Copyright 2022 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 #ifndef QUICHE_QUIC_CORE_IO_QUIC_DEFAULT_EVENT_LOOP_H_
6 #define QUICHE_QUIC_CORE_IO_QUIC_DEFAULT_EVENT_LOOP_H_
7 
8 #include <memory>
9 
10 #include "quiche/quic/core/io/quic_event_loop.h"
11 
12 namespace quic {
13 
14 // Returns the default implementation of QuicheEventLoop.  The embedders can
15 // override this using the platform API.  The factory pointer returned is an
16 // unowned static variable.
17 QuicEventLoopFactory* GetDefaultEventLoop();
18 
19 // Returns the factory objects for all event loops.  This is particularly useful
20 // for the unit tests.  The factory pointers returned are unowned static
21 // variables.
22 std::vector<QuicEventLoopFactory*> GetAllSupportedEventLoops();
23 
24 }  // namespace quic
25 
26 #endif  // QUICHE_QUIC_CORE_IO_QUIC_DEFAULT_EVENT_LOOP_H_
27