GoWebScan API
GoWebScanPipe Class Reference

Description

Represents a pipeline to run sequences of processing tasks concurrently. A GoWebScanPipe object coordinates executing GoWebScanPipeTask objects that have received a GoWebScanPipeMsg, and coordinates passing messages from task to task as processing steps execute. The pipe maintains a a priority queue of processing jobs, ordered by stage, and a thread pool to execute jobs. Higher priority jobs (higher stage number) are dispatched for processing before lower priority jobs.

Inheritance diagram for GoWebScanPipe:
Inheritance graph

Public Member Functions

kStatus GoWebScanPipe_AddMsgPool (GoWebScanPipe pipe, GoWebScanPipeMsgPool *pool)
 Adds a message pool to the pipe. More...
 
kStatus GoWebScanPipe_AddTask (GoWebScanPipe pipe, GoWebScanPipeTask *task)
 Adds a task to the pipe. More...
 
kStatus GoWebScanPipe_Clear (GoWebScanPipe pipe)
 Receives and frees all messages exiting the pipe until the pipe is empty. More...
 
kStatus GoWebScanPipe_Construct (GoWebScanPipe *pipe, kAlloc allocator)
 Constructs a GoWebScanPipe object. More...
 
kStatus GoWebScanPipe_Dispatch (GoWebScanPipe pipe, GoWebScanPipeTask task, GoWebScanPipeMsg msg)
 Dispatches a processing job (task + message) to the pipe. More...
 
kStatus GoWebScanPipe_Emit (GoWebScanPipe pipe, GoWebScanPipeMsg msg)
 Adds a completed message to the pipe's outgoing queue. More...
 
kSize GoWebScanPipe_ErrorCount (GoWebScanPipe pipe)
 Gets the current count of processing errors that have occurred in the pipe. More...
 
kStatus GoWebScanPipe_Receive (GoWebScanPipe pipe, GoWebScanPipeMsg *msg, k64u timeout)
 Receives a completed processing job from the pipe. More...
 
kStatus GoWebScanPipe_SetThreadCount (GoWebScanPipe pipe, kSize count)
 Sets the number of threads to be used by the pipe. More...
 
kStatus GoWebScanPipe_Start (GoWebScanPipe pipe)
 Initializes the pipe. More...
 
kSize GoWebScanPipe_ThreadCount (GoWebScanPipe pipe)
 Gets the number of threads to be used by the pipe. More...
 

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