LeviLamina
Loading...
Searching...
No Matches
Scheduler Class Reference
Inheritance diagram for Scheduler:

Classes

struct  CoroutinePolicy
class  ScopedChangeScheduler

Public Types

enum class  MaximumTimeBudget : int { Yes = 0 , No = 1 }
enum class  MinimumTimeBudget : int { Yes = 0 , No = 1 }

Public Member Functions

MCAPI Scheduler (::std::string name, uint FPS)
MCAPI::std::chrono::nanoseconds _calcBaseTimeBudget (uint forFps, ::std::chrono::nanoseconds frameTimeSoFar, ::Scheduler::MinimumTimeBudget ensureNonZeroRunTime, ::Scheduler::MaximumTimeBudget limitMaxRunTime)
MCAPI bool _runCoroutines (::std::chrono::nanoseconds timeCap)
MCAPI void processCoroutines (::std::chrono::nanoseconds timeSinceSwap, ::Scheduler::MinimumTimeBudget ensureNonZeroRunTime, ::Scheduler::MaximumTimeBudget limitMaxRunTime)
MCAPI_C ::std::shared_ptr< void > setCoroutinePolicy (::brstd::move_only_function< bool() const > policy)
MCAPI void setTargetFPS (uint FPS)
MCAPI void updateTargetFPS ()
MCAPI void * $ctor (::std::string name, uint FPS)
MCAPI void $dtor ()
MCFOLD void * $ctor ()
MCFOLD void * $ctor (::Bedrock::EnableNonOwnerReferences const &)

Static Public Member Functions

static MCAPI void ** $vftable ()

Public Attributes

::ll::TypedStorage< 8, 16, ::std::weak_ptr<::Scheduler::CoroutinePolicy > > mCoroutinePolicy
::ll::TypedStorage< 4, 4, uint > mTotalFrames
::ll::TypedStorage< 4, 4, uint > mStarvedFrames
::ll::TypedStorage< 4, 4, uint > mPromotionFrames
::ll::TypedStorage< 4, 4, uint > mTargetFPS
::ll::TypedStorage< 4, 4, uint > mEffectiveFPS
::ll::TypedStorage< 4, 4, uint > mTotalRunCoroutines
::ll::TypedStorage< 8, 8, ::std::chrono::nanoseconds > mPredictedCoroutineDuration
::ll::TypedStorage< 8, 8, ::std::chrono::nanoseconds > mTotalCoroutineDuration
::ll::TypedStorage< 8, 8, ::std::unique_ptr<::WorkerPool > > mCoroutinePool
::ll::TypedStorage< 8, 8, ::std::chrono::steady_clock::time_point > mNextStarveCheckTime
::ll::TypedStorage< 4, 4, ::std::thread::id > mThreadID
::std::shared_ptr<::Bedrock::EnableNonOwnerReferences::ControlBlockmControlBlock

Member Function Documentation

◆ $vftable()

MCAPI void ** Scheduler::$vftable ( )
static
Attention
This function is not yet publicly available. To request access: reference this function in your code and attempt to link. The linker will report the exact symbol name. Submit a access request at https://github.com/LiteLDev/mcapi-requests/issues/new including the full symbol name.

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