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
10
namespace
Bedrock::PubSub {
class
DeferredSubscription
; }
11
namespace
Bedrock::PubSub {
class
RawSubscription
; }
12
// clang-format on
13
14
namespace
Bedrock::PubSub {
15
16
class
DeferredSubscriptionHub
{
17
public
:
18
// DeferredSubscriptionHub inner types define
19
enum class
HubType :
int
{
20
Priority = 0,
21
Fifo = 1,
22
RecursiveFIFO = 2,
23
};
24
25
public
:
26
// virtual functions
27
// NOLINTBEGIN
28
virtual
~DeferredSubscriptionHub
() =
default
;
29
30
virtual
uint64 runDeferredEvents(uint64 maxToRun) = 0;
31
32
virtual
uint64 runDeferredEventsForDuration(::std::chrono::milliseconds msec) = 0;
33
34
virtual
void
flushPendingEvents() = 0;
35
36
virtual
void
clear() = 0;
37
38
virtual
uint64 erase(
::Bedrock::PubSub::RawSubscription
& subscription) = 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
&& subscription) = 0;
47
48
virtual
void
49
_enqueue(::std::function<
void
()> fn, ::Bedrock::PubSub::ConnectPosition at, ::std::optional<int> group) = 0;
50
// NOLINTEND
51
52
public
:
53
// virtual function thunks
54
// NOLINTBEGIN
55
56
// NOLINTEND
57
58
public
:
59
// vftables
60
// NOLINTBEGIN
61
MCNAPI
static
void
**
$vftable
();
62
// NOLINTEND
63
};
64
65
}
// namespace Bedrock::PubSub
Bedrock::PubSub::DeferredSubscriptionHub
Definition
DeferredSubscriptionHub.h:16
Bedrock::PubSub::DeferredSubscriptionHub::$vftable
static MCAPI void ** $vftable()
Bedrock::PubSub::DeferredSubscription
Definition
DeferredSubscription.h:10
Bedrock::PubSub::RawSubscription
Definition
RawSubscription.h:10
src
mc
deps
core
utility
pub_sub
DeferredSubscriptionHub.h
Generated on
for LeviLamina by
1.16.1