2025-04-27 07:49:33 -04:00

38 lines
628 B
C++

/*++
Copyright (C) 1997-2001 Microsoft Corporation
Module Name:
SCHED.H
Abstract:
Declares the CSched class which is a crude schedualer.
History:
--*/
#ifndef _sched_H_
#define _sched_H_
enum JobType {FirstCoreShutdown = 0, FinalCoreShutdown, CoreMaintLoad, FlushDB, PeriodicBackup, PossibleStartCore, EOL};
class CSched
{
private:
DWORD m_dwDue[EOL];
public:
CSched();
void SetWorkItem(JobType jt, DWORD dwMsFromNow);
DWORD GetWaitPeriod();
bool IsWorkItemDue(JobType jt);
void ClearWorkItem(JobType jt);
void StartCoreIfEssNeeded();
};
#endif