Ark Server API (ASA) - Wiki
Loading...
Searching...
No Matches
FQueuedThreadPoolWrapper::FScheduledWork Class Reference

#include <QueuedThreadPoolWrapper.h>

+ Inheritance diagram for FQueuedThreadPoolWrapper::FScheduledWork:
+ Collaboration diagram for FQueuedThreadPoolWrapper::FScheduledWork:

Public Member Functions

 FScheduledWork ()
 
 FScheduledWork (const FScheduledWork &)=delete
 
FScheduledWorkoperator= (const FScheduledWork &)=delete
 
 FScheduledWork (const FScheduledWork &&)=delete
 
FScheduledWorkoperator= (const FScheduledWork &&)=delete
 
 ~FScheduledWork () override
 
- Public Member Functions inherited from IQueuedWork
virtual ~IQueuedWork ()
 

Private Member Functions

uint32 AddRef () const override
 
uint32 Release () const override
 
uint32 GetRefCount () const override
 
void Assign (FQueuedThreadPoolWrapper *InParentPool, IQueuedWork *InWork, EQueuedWorkPriority InPriority)
 
void DoThreadedWork () override
 
void Abandon () override
 
EQueuedWorkFlags GetQueuedWorkFlags () const override
 
int64 GetRequiredMemory () const override
 
IQueuedWorkGetInnerWork () const
 
EQueuedWorkPriority GetPriority () const
 
void Reset ()
 

Private Attributes

FThreadSafeCounter NumRefs
 
FQueuedThreadPoolWrapperParentPool
 
IQueuedWorkWork
 
EQueuedWorkPriority Priority
 

Friends

class FQueuedThreadPoolWrapper
 

Additional Inherited Members

- Public Types inherited from IQueuedWork
using IInternalDataType = TRefCountPtr<IQueuedWorkInternalData>
 
- Public Attributes inherited from IQueuedWork
IInternalDataType InternalData
 

Detailed Description

Definition at line 72 of file QueuedThreadPoolWrapper.h.

Constructor & Destructor Documentation

◆ FScheduledWork() [1/3]

FQueuedThreadPoolWrapper::FScheduledWork::FScheduledWork ( )
+ Here is the caller graph for this function:

◆ FScheduledWork() [2/3]

FQueuedThreadPoolWrapper::FScheduledWork::FScheduledWork ( const FScheduledWork & )
delete

◆ FScheduledWork() [3/3]

FQueuedThreadPoolWrapper::FScheduledWork::FScheduledWork ( const FScheduledWork && )
delete

◆ ~FScheduledWork()

FQueuedThreadPoolWrapper::FScheduledWork::~FScheduledWork ( )
override

Member Function Documentation

◆ Abandon()

void FQueuedThreadPoolWrapper::FScheduledWork::Abandon ( )
inlineoverrideprivatevirtual

Tells the queued work that it is being abandoned so that it can do per object clean up as needed. This will only be called if it is being abandoned before completion. NOTE: This requires the object to delete itself using whatever heap it was allocated in.

Implements IQueuedWork.

Definition at line 134 of file QueuedThreadPoolWrapper.h.

+ Here is the call graph for this function:

◆ AddRef()

uint32 FQueuedThreadPoolWrapper::FScheduledWork::AddRef ( ) const
inlineoverrideprivate

Definition at line 86 of file QueuedThreadPoolWrapper.h.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ Assign()

void FQueuedThreadPoolWrapper::FScheduledWork::Assign ( FQueuedThreadPoolWrapper * InParentPool,
IQueuedWork * InWork,
EQueuedWorkPriority InPriority )
inlineprivate

Definition at line 110 of file QueuedThreadPoolWrapper.h.

+ Here is the call graph for this function:

◆ DoThreadedWork()

void FQueuedThreadPoolWrapper::FScheduledWork::DoThreadedWork ( )
inlineoverrideprivatevirtual

This is where the real thread work is done. All work that is done for this queued object should be done from within the call to this function.

Implements IQueuedWork.

Definition at line 119 of file QueuedThreadPoolWrapper.h.

+ Here is the call graph for this function:

◆ GetInnerWork()

IQueuedWork * FQueuedThreadPoolWrapper::FScheduledWork::GetInnerWork ( ) const
inlineprivate

Definition at line 151 of file QueuedThreadPoolWrapper.h.

◆ GetPriority()

EQueuedWorkPriority FQueuedThreadPoolWrapper::FScheduledWork::GetPriority ( ) const
inlineprivate

Definition at line 156 of file QueuedThreadPoolWrapper.h.

◆ GetQueuedWorkFlags()

EQueuedWorkFlags FQueuedThreadPoolWrapper::FScheduledWork::GetQueuedWorkFlags ( ) const
inlineoverrideprivatevirtual

Returns any special work flags.

Reimplemented from IQueuedWork.

Definition at line 141 of file QueuedThreadPoolWrapper.h.

+ Here is the call graph for this function:

◆ GetRefCount()

uint32 FQueuedThreadPoolWrapper::FScheduledWork::GetRefCount ( ) const
inlineoverrideprivate

Definition at line 105 of file QueuedThreadPoolWrapper.h.

+ Here is the call graph for this function:

◆ GetRequiredMemory()

int64 FQueuedThreadPoolWrapper::FScheduledWork::GetRequiredMemory ( ) const
inlineoverrideprivatevirtual

Returns an approximation of the peak memory (in bytes) this task could require during it's execution.

Reimplemented from IQueuedWork.

Definition at line 146 of file QueuedThreadPoolWrapper.h.

+ Here is the call graph for this function:

◆ operator=() [1/2]

FScheduledWork & FQueuedThreadPoolWrapper::FScheduledWork::operator= ( const FScheduledWork && )
delete

◆ operator=() [2/2]

FScheduledWork & FQueuedThreadPoolWrapper::FScheduledWork::operator= ( const FScheduledWork & )
delete

◆ Release()

uint32 FQueuedThreadPoolWrapper::FScheduledWork::Release ( ) const
inlineoverrideprivate

Definition at line 91 of file QueuedThreadPoolWrapper.h.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ Reset()

void FQueuedThreadPoolWrapper::FScheduledWork::Reset ( )
inlineprivate

Definition at line 161 of file QueuedThreadPoolWrapper.h.

Friends And Related Symbol Documentation

◆ FQueuedThreadPoolWrapper

Member Data Documentation

◆ NumRefs

FThreadSafeCounter FQueuedThreadPoolWrapper::FScheduledWork::NumRefs
mutableprivate

Definition at line 166 of file QueuedThreadPoolWrapper.h.

◆ ParentPool

FQueuedThreadPoolWrapper* FQueuedThreadPoolWrapper::FScheduledWork::ParentPool
private

Definition at line 168 of file QueuedThreadPoolWrapper.h.

◆ Priority

EQueuedWorkPriority FQueuedThreadPoolWrapper::FScheduledWork::Priority
private

Definition at line 170 of file QueuedThreadPoolWrapper.h.

◆ Work

IQueuedWork* FQueuedThreadPoolWrapper::FScheduledWork::Work
private

Definition at line 169 of file QueuedThreadPoolWrapper.h.


The documentation for this class was generated from the following file: