ocean.task.util.StreamProcessor

Framework for reading from a stream and throttling based on the progress of processing the received data.

It is a relatively simple utility built on top of a task pool, the scheduler, and ISuspendable, to provide "ready to go" functionality to be used in applications.

Usage example: See the documented unittest of the StreamProcessor class

Members

Classes

StreamProcessor
class StreamProcessor(TaskT : Task)

Class that handles distribution of data read from streams over a set of tasks in a task pool. The developer must define their own task class to do the work required to handle one record read from the streams; the stream processor takes care of throttling the input streams and distributing the resulting work over the pools of tasks / fibers.

ThrottlerFailureException
class ThrottlerFailureException

Exception that indicates that used throttler doesn't work as intended

Structs

ThrottlerConfig
struct ThrottlerConfig

Config struct to use when creating a stream processor that should use the default PoolThrottler for throttling.

Meta

License

Boost Software License Version 1.0. See LICENSE_BOOST.txt for details. Alternatively, this file may be distributed under the terms of the Tango 3-Clause BSD License (see LICENSE_BSD.txt for details).