/*** Copyright (C) 2023 J Reece Wilson (a/k/a "Reece"). All rights reserved. File: SpinTime.hpp Date: 2023-08-19 Author: Reece ***/ #pragma once namespace Aurora { struct ThreadingConfig; } namespace Aurora::Threading { // Note: the following APIs are in powers of 2! AUKN_SYM void SetSpinCountTimeout(AuUInt8 uTimeout); AUKN_SYM AuUInt8 GetSpinCountTimeout(); AUKN_SYM void SetThreadLocalAdditionalSpinCountTimeout(AuUInt8 uTimeout); AUKN_SYM AuUInt32 GetTotalSpinCountTimeout(); AUKN_SYM const ThreadingConfig *GetThreadingConfig(); AUKN_SYM void SetThreadingConfig(const ThreadingConfig *pUpdateConfig); }