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.
Exception that indicates that used throttler doesn't work as intended
Config struct to use when creating a stream processor that should use the default PoolThrottler for throttling.
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).
Copyright (c) 2009-2016 dunnhumby Germany GmbH. All rights reserved.
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