CAF 0.17.6
Loading...
Searching...
No Matches
caf::detail::stream_stage_driver_impl< Input, DownstreamManager, Process, Finalize > Class Template Referencefinal

Default implementation for a stream_stage_driver that hardwires message as result type and implements process and finalize using user-provided function objects (usually lambdas). More...

#include <stream_stage_driver_impl.hpp>

Inheritance diagram for caf::detail::stream_stage_driver_impl< Input, DownstreamManager, Process, Finalize >:
caf::stream_stage_driver< Input, DownstreamManager >

Public Types

using super = stream_stage_driver<Input, DownstreamManager>
 
using trait = stream_stage_trait_t<Process>
 
using state_type = typename trait::state
 
using input_type
 Element type of the input stream.
 
using output_type
 Element type of the output stream.
 
using stream_type
 Type of the output stream.
 
- Public Types inherited from caf::stream_stage_driver< Input, DownstreamManager >
using input_type = Input
 Element type of the input stream.
 
using downstream_manager_type = DownstreamManager
 Policy for distributing data to outbound paths.
 
using output_type = typename downstream_manager_type::output_type
 Element type of the output stream.
 
using stream_type = stream<output_type>
 Type of the output stream.
 
using stage_type = stream_stage<input_type, DownstreamManager>
 Implemented stream_stage interface.
 
using stage_ptr_type = intrusive_ptr<stage_type>
 Smart pointer to the interface type.
 

Public Member Functions

template<class Init >
 stream_stage_driver_impl (DownstreamManager &out, Init init, Process f, Finalize fin)
 
void process (downstream< output_type > &out, std::vector< input_type > &batch) override
 Processes a single batch.
 
void finalize (const error &err) override
 Cleans up any state.
 
- Public Member Functions inherited from caf::stream_stage_driver< Input, DownstreamManager >
 stream_stage_driver (DownstreamManager &out)
 
virtual bool congested () const noexcept
 Can mark the stage as congested.
 
virtual int32_t acquire_credit (inbound_path *path, int32_t desired)
 Acquires credit on an inbound path.
 

Additional Inherited Members

- Protected Attributes inherited from caf::stream_stage_driver< Input, DownstreamManager >
DownstreamManager & out_
 

Detailed Description

template<class Input, class DownstreamManager, class Process, class Finalize>
class caf::detail::stream_stage_driver_impl< Input, DownstreamManager, Process, Finalize >

Default implementation for a stream_stage_driver that hardwires message as result type and implements process and finalize using user-provided function objects (usually lambdas).

Member Function Documentation

◆ finalize()

template<class Input , class DownstreamManager , class Process , class Finalize >
void caf::detail::stream_stage_driver_impl< Input, DownstreamManager, Process, Finalize >::finalize ( const error & )
overridevirtual

Cleans up any state.

Reimplemented from caf::stream_stage_driver< Input, DownstreamManager >.

◆ process()

template<class Input , class DownstreamManager , class Process , class Finalize >
void caf::detail::stream_stage_driver_impl< Input, DownstreamManager, Process, Finalize >::process ( downstream< output_type > & out,
std::vector< input_type > & batch )
overridevirtual

Processes a single batch.

Implements caf::stream_stage_driver< Input, DownstreamManager >.


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