Ark Server API (ASA) - Wiki
Loading...
Searching...
No Matches
FGameThreadHitchHeartBeatThreaded Class Reference

#include <ThreadHeartBeat.h>

+ Inheritance diagram for FGameThreadHitchHeartBeatThreaded:
+ Collaboration diagram for FGameThreadHitchHeartBeatThreaded:

Public Types

enum  EConstants { InvalidThreadId = (uint32)-1 }
 

Public Member Functions

void FrameStart (bool bSkipThisFrame=false)
 
double GetFrameStartTime ()
 
double GetCurrentTime ()
 
void SuspendHeartBeat ()
 
void ResumeHeartBeat ()
 
void Restart ()
 
virtual bool Init ()
 
virtual uint32 Run ()
 
virtual void Stop ()
 
- Public Member Functions inherited from FRunnable
virtual void Exit ()
 
virtual class FSingleThreadRunnableGetSingleThreadInterface ()
 
virtual ~FRunnable ()
 

Static Public Member Functions

static FGameThreadHitchHeartBeatThreadedGet ()
 
static FGameThreadHitchHeartBeatThreadedGetNoInit ()
 

Private Member Functions

void InitSettings ()
 
 FGameThreadHitchHeartBeatThreaded ()
 
virtual ~FGameThreadHitchHeartBeatThreaded ()
 

Private Attributes

FRunnableThreadThread
 
FThreadSafeCounter StopTaskCounter
 
FCriticalSection HeartBeatCritical
 
FThreadHeartBeatClock Clock
 

Static Private Attributes

static FGameThreadHitchHeartBeatThreadedSingleton
 

Detailed Description

Definition at line 334 of file ThreadHeartBeat.h.

Member Enumeration Documentation

◆ EConstants

Enumerator
InvalidThreadId 

Invalid thread Id used by CheckHeartBeat

Definition at line 372 of file ThreadHeartBeat.h.

Constructor & Destructor Documentation

◆ FGameThreadHitchHeartBeatThreaded()

FGameThreadHitchHeartBeatThreaded::FGameThreadHitchHeartBeatThreaded ( )
private

Member Function Documentation

◆ FrameStart()

void FGameThreadHitchHeartBeatThreaded::FrameStart ( bool bSkipThisFrame = false)

Called at the start of a frame to register the time we are looking to detect a hitch

◆ Get()

static FGameThreadHitchHeartBeatThreaded & FGameThreadHitchHeartBeatThreaded::Get ( )
static

Gets the heartbeat singleton

+ Here is the caller graph for this function:

◆ GetCurrentTime()

double FGameThreadHitchHeartBeatThreaded::GetCurrentTime ( )

◆ GetFrameStartTime()

double FGameThreadHitchHeartBeatThreaded::GetFrameStartTime ( )

◆ GetNoInit()

static FGameThreadHitchHeartBeatThreaded * FGameThreadHitchHeartBeatThreaded::GetNoInit ( )
static

◆ Init()

virtual bool FGameThreadHitchHeartBeatThreaded::Init ( )
virtual

Initializes the runnable object.

This method is called in the context of the thread object that aggregates this, not the thread that passes this runnable to a new thread.

Returns
True if initialization was successful, false otherwise
See also
Run, Stop, Exit

Reimplemented from FRunnable.

◆ InitSettings()

void FGameThreadHitchHeartBeatThreaded::InitSettings ( )
private

◆ Restart()

void FGameThreadHitchHeartBeatThreaded::Restart ( )
inline

Definition at line 401 of file ThreadHeartBeat.h.

◆ ResumeHeartBeat()

void FGameThreadHitchHeartBeatThreaded::ResumeHeartBeat ( )

Resume heartbeat hitch detection. Call only after first calling SuspendHeartBeat.

+ Here is the caller graph for this function:

◆ Run()

virtual uint32 FGameThreadHitchHeartBeatThreaded::Run ( )
virtual

Runs the runnable object.

This is where all per object thread work is done. This is only called if the initialization was successful.

Returns
The exit code of the runnable object
See also
Init, Stop, Exit

Implements FRunnable.

◆ Stop()

virtual void FGameThreadHitchHeartBeatThreaded::Stop ( )
virtual

Stops the runnable object.

This is called if a thread is requested to terminate early.

See also
Init, Run, Exit

Reimplemented from FRunnable.

◆ SuspendHeartBeat()

void FGameThreadHitchHeartBeatThreaded::SuspendHeartBeat ( )

Suspend heartbeat hitch detection. Must call ResumeHeartBeat later to resume.

+ Here is the caller graph for this function:

◆ ~FGameThreadHitchHeartBeatThreaded()

virtual FGameThreadHitchHeartBeatThreaded::~FGameThreadHitchHeartBeatThreaded ( )
privatevirtual

Member Data Documentation

◆ Clock

FThreadHeartBeatClock FGameThreadHitchHeartBeatThreaded::Clock
private

Definition at line 363 of file ThreadHeartBeat.h.

◆ HeartBeatCritical

FCriticalSection FGameThreadHitchHeartBeatThreaded::HeartBeatCritical
private

Synch object for the heartbeat

Definition at line 343 of file ThreadHeartBeat.h.

◆ Singleton

FGameThreadHitchHeartBeatThreaded* FGameThreadHitchHeartBeatThreaded::Singleton
staticprivate

Definition at line 336 of file ThreadHeartBeat.h.

◆ StopTaskCounter

FThreadSafeCounter FGameThreadHitchHeartBeatThreaded::StopTaskCounter
private

Stops this thread

Definition at line 341 of file ThreadHeartBeat.h.

◆ Thread

FRunnableThread* FGameThreadHitchHeartBeatThreaded::Thread
private

Thread to run the worker FRunnable on

Definition at line 339 of file ThreadHeartBeat.h.


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