The Sleuth Kit Framework
4.1
|
Interface for class that will handle scheduling of tasks. More...
#include <Scheduler.h>
Classes | |
struct | task_struct |
Describes a single task to be scheduled or perform. More... | |
Public Types | |
enum | TaskType { Extract, Carve, FileAnalysis, Reporting } |
Types of tasks that can be scheduled or performed. More... | |
Public Member Functions | |
virtual task_struct * | nextTask ()=0 |
Get the next task to process from the scheduler. More... | |
virtual int | schedule (Scheduler::TaskType task, uint64_t startId, uint64_t endId) |
Schedule a new task for the range of IDs. More... | |
int | schedule (Scheduler::task_struct &task) |
Schedule a new task for a specific ID. More... | |
Interface for class that will handle scheduling of tasks.
Different implementations will deal with how to get the tasks out (nextTask()) because some will immediately schedule and others may keep a sorted list locally. The current scheduler can be registered with and retrieved from TskServices.
enum Scheduler::TaskType |
|
pure virtual |
Get the next task to process from the scheduler.
Note that different scheduling systems have a pull versus push architecture. This method is for pulling designs and may return NULL in push designs (i.e. if the scheduler is a wrapper around another distributed system scheduler, then it may constantly push tasks to the system scheduler and this will always return NULL because everything has already been submitted).
Implemented in TskSchedulerQueue.
|
inlinevirtual |
Schedule a new task for the range of IDs.
task | Task to schedule |
startId | Starting ID of object to process |
endId | Ending ID of object to process. |
Reimplemented in TskSchedulerQueue.
|
inline |
Schedule a new task for a specific ID.
task | Task to schedule |
References Scheduler::task_struct::id, and Scheduler::task_struct::task.
Copyright © 2011-2013 Brian Carrier. (carrier -at- sleuthkit -dot- org)
This work is licensed under a
Creative Commons Attribution-Share Alike 3.0 United States License.