LeviLamina
Loading...
Searching...
No Matches
TaskQueuePortImpl.h
1
#pragma once
2
3
#include "mc/_HeaderOutputPredefine.h"
4
5
// auto generated inclusion list
6
#include "mc/deps/core/threading/LocklessQueue.h"
7
#include "mc/deps/core/threading/XTaskQueueDispatchMode.h"
8
9
// auto generated forward declare list
10
// clang-format off
11
struct
ITaskQueuePortContext
;
12
namespace
OS {
struct
ThreadPoolActionStatus; }
13
// clang-format on
14
15
class
TaskQueuePortImpl
{
16
public
:
17
// TaskQueuePortImpl inner types declare
18
// clang-format off
19
struct
QueueEntry
;
20
struct
TerminationEntry
;
21
struct
WaitRegistration
;
22
// clang-format on
23
24
// TaskQueuePortImpl inner types define
25
struct
QueueEntry
{};
26
27
struct
TerminationEntry
{};
28
29
struct
WaitRegistration
{};
30
31
public
:
32
// member functions
33
// NOLINTBEGIN
34
MCAPI
bool
AppendEntry(
::TaskQueuePortImpl::QueueEntry
const
&, uint64);
35
36
MCAPI
bool
AppendWaitRegistrationEntry(
::TaskQueuePortImpl::WaitRegistration
*);
37
38
MCAPI
void
CancelPendingEntries(
::ITaskQueuePortContext
*,
bool
);
39
40
MCAPI
bool
DrainOneItem(
::OS::ThreadPoolActionStatus
&);
41
42
MCAPI
long
Initialize(::XTaskQueueDispatchMode);
43
44
MCAPI
long
InitializeWaitRegistration(
::TaskQueuePortImpl::WaitRegistration
*);
45
46
MCAPI
void
NotifyItemQueued();
47
48
MCAPI
void
ProcessThreadPoolCallback(
::OS::ThreadPoolActionStatus
&);
49
50
MCAPI
void
ScheduleTermination(
::TaskQueuePortImpl::TerminationEntry
*);
51
52
MCAPI
void
SubmitPendingCallback();
53
54
MCAPI
TaskQueuePortImpl
();
55
56
MCAPI
bool
Wait(
::ITaskQueuePortContext
*, uint);
57
// NOLINTEND
58
59
public
:
60
// static functions
61
// NOLINTBEGIN
62
MCAPI
static
void
EraseQueue(
::LocklessQueue<::TaskQueuePortImpl::QueueEntry>
*);
63
64
MCAPI
static
void
WaitCallback(::_TP_CALLBACK_INSTANCE*,
void
*, ::_TP_WAIT*, ulong);
65
// NOLINTEND
66
67
public
:
68
// constructor thunks
69
// NOLINTBEGIN
70
MCAPI
void
* $ctor();
71
// NOLINTEND
72
73
public
:
74
// vftables
75
// NOLINTBEGIN
76
MCAPI
static
void
** $vftable();
77
// NOLINTEND
78
};
LocklessQueue
Definition
LocklessQueue.h:6
TaskQueuePortImpl
Definition
TaskQueuePortImpl.h:15
ITaskQueuePortContext
Definition
ITaskQueuePortContext.h:5
OS::ThreadPoolActionStatus
Definition
ThreadPoolActionStatus.h:7
TaskQueuePortImpl::QueueEntry
Definition
TaskQueuePortImpl.h:25
TaskQueuePortImpl::TerminationEntry
Definition
TaskQueuePortImpl.h:27
TaskQueuePortImpl::WaitRegistration
Definition
TaskQueuePortImpl.h:29
src
mc
deps
core
threading
TaskQueuePortImpl.h
Generated on Sat Apr 26 2025 05:55:26 for LeviLamina by
1.12.0