mirror of https://github.com/tongzx/nt5src
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
46 lines
627 B
46 lines
627 B
/*++
|
|
|
|
Copyright (C) 1997-2001 Microsoft Corporation
|
|
|
|
Module Name:
|
|
|
|
SCHED.H
|
|
|
|
Abstract:
|
|
|
|
Declares the CSched class which is a crude scheduler.
|
|
|
|
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
|