LeviLamina
Loading...
Searching...
No Matches
DeferredSubscriptionHub.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/deps/core/utility/pub_sub/ConnectPosition.h"
7
8// auto generated forward declare list
9// clang-format off
10namespace Bedrock::PubSub { class DeferredSubscription; }
11namespace Bedrock::PubSub { class RawSubscription; }
12// clang-format on
13
14namespace Bedrock::PubSub {
15
17public:
18 // DeferredSubscriptionHub inner types define
19 enum class HubType : int {
20 Priority = 0,
21 Fifo = 1,
22 RecursiveFIFO = 2,
23 };
24
25public:
26 // virtual functions
27 // NOLINTBEGIN
28 virtual ~DeferredSubscriptionHub() = default;
29
30 virtual uint64 runDeferredEvents(uint64) = 0;
31
32 virtual uint64 runDeferredEventsForDuration(::std::chrono::milliseconds) = 0;
33
34 virtual void flushPendingEvents() = 0;
35
36 virtual void clear() = 0;
37
38 virtual uint64 erase(::Bedrock::PubSub::RawSubscription&) = 0;
39
40 virtual uint64 size() const = 0;
41
42 virtual bool empty() const = 0;
43
44 virtual ::Bedrock::PubSub::DeferredSubscriptionHub::HubType getHubType() const = 0;
45
46 virtual void _join(::Bedrock::PubSub::DeferredSubscription&&) = 0;
47
48 virtual void _enqueue(::std::function<void()>, ::Bedrock::PubSub::ConnectPosition, ::std::optional<int>) = 0;
49 // NOLINTEND
50
51public:
52 // virtual function thunks
53 // NOLINTBEGIN
54
55 // NOLINTEND
56
57public:
58 // vftables
59 // NOLINTBEGIN
60 MCNAPI static void** $vftable();
61 // NOLINTEND
62};
63
64} // namespace Bedrock::PubSub
Definition DeferredSubscriptionHub.h:16
Definition DeferredSubscription.h:10
Definition RawSubscription.h:10