CAF  0.17.2
Public Types | Public Member Functions | List of all members
caf::stream_sink_driver< Input > Class Template Referenceabstract

Identifies an unbound sequence of messages. More...

#include <stream_sink_driver.hpp>

Inheritance diagram for caf::stream_sink_driver< Input >:
caf::detail::stream_sink_driver_impl< Input, Process, Finalize >

Public Types

using input_type = Input
 
using sink_type = stream_sink< input_type >
 Implemented stream_sink interface.
 
using sink_ptr_type = intrusive_ptr< sink_type >
 Smart pointer to the interface type.
 

Public Member Functions

virtual void finalize (const error &)
 Called after closing the last inbound path.
 
virtual void process (std::vector< input_type > &batch)=0
 Processes a single batch.
 
virtual bool congested () const noexcept
 Can mark the sink as congested, e.g., when writing into a buffer that fills up faster than it is drained.
 
virtual int32_t acquire_credit (inbound_path *path, int32_t desired)
 Acquires credit on an inbound path. More...
 

Detailed Description

template<class Input>
class caf::stream_sink_driver< Input >

Identifies an unbound sequence of messages.

Member Function Documentation

◆ acquire_credit()

template<class Input >
virtual int32_t caf::stream_sink_driver< Input >::acquire_credit ( inbound_path path,
int32_t  desired 
)
virtual

Acquires credit on an inbound path.

The calculated credit to fill our queue fro two cycles is desired, but the driver is allowed to return any non-negative value.


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