C++ Actor Framework 0.19
Loading...
Searching...
No Matches
Public Types | Public Member Functions | Friends | List of all members
caf::flow::op::from_resource_sub< Buffer > Class Template Reference

Reads from an observable buffer and emits the consumed items. More...

#include <from_resource.hpp>

Inheritance diagram for caf::flow::op::from_resource_sub< Buffer >:
caf::detail::atomic_ref_counted caf::flow::subscription::impl caf::async::consumer caf::disposable::impl

Public Types

using value_type = typename Buffer::value_type
 
using buffer_ptr = intrusive_ptr< Buffer >
 

Public Member Functions

 from_resource_sub (coordinator *ctx, buffer_ptr buf, observer< value_type > out)
 
bool disposed () const noexcept override
 
void dispose () override
 
void request (size_t n) override
 Signals demand for n more items.
 
void on_producer_ready () override
 Called to signal that the producer started emitting items.
 
void on_producer_wakeup () override
 Called to signal to the consumer that the producer added an item to a previously empty source or completed the flow of events.
 
void ref_consumer () const noexcept final
 Increases the reference count of the consumer.
 
void deref_consumer () const noexcept final
 Decreases the reference count of the consumer and destroys the object if necessary.
 
void ref_disposable () const noexcept final
 
void deref_disposable () const noexcept final
 
- Public Member Functions inherited from caf::detail::atomic_ref_counted
 atomic_ref_counted (const atomic_ref_counted &)
 
atomic_ref_countedoperator= (const atomic_ref_counted &)
 
void ref () const noexcept
 Increases reference count by one.
 
void deref () const noexcept
 Decreases reference count by one and calls request_deletion when it drops to zero.
 
bool unique () const noexcept
 Queries whether there is exactly one reference.
 
size_t get_reference_count () const noexcept
 Queries the current reference count for this object.
 
virtual void request (size_t n)=0
 Signals demand for n more items.
 
- Public Member Functions inherited from caf::disposable::impl
virtual void dispose ()=0
 
virtual bool disposed () const noexcept=0
 
disposable as_disposable () noexcept
 
virtual void ref_disposable () const noexcept=0
 
virtual void deref_disposable () const noexcept=0
 
virtual void on_producer_ready ()=0
 Called to signal that the producer started emitting items.
 
virtual void on_producer_wakeup ()=0
 Called to signal to the consumer that the producer added an item to a previously empty source or completed the flow of events.
 
virtual void ref_consumer () const noexcept=0
 Increases the reference count of the consumer.
 
virtual void deref_consumer () const noexcept=0
 Decreases the reference count of the consumer and destroys the object if necessary.
 

Friends

void intrusive_ptr_add_ref (const from_resource_sub *ptr) noexcept
 
void intrusive_ptr_release (const from_resource_sub *ptr) noexcept
 

Additional Inherited Members

- Protected Attributes inherited from caf::detail::atomic_ref_counted
std::atomic< size_t > rc_
 

Detailed Description

template<class Buffer>
class caf::flow::op::from_resource_sub< Buffer >

Reads from an observable buffer and emits the consumed items.

Member Function Documentation

◆ deref_consumer()

template<class Buffer >
void caf::flow::op::from_resource_sub< Buffer >::deref_consumer ( ) const
finalvirtualnoexcept

Decreases the reference count of the consumer and destroys the object if necessary.

Implements caf::async::consumer.

◆ deref_disposable()

template<class Buffer >
void caf::flow::op::from_resource_sub< Buffer >::deref_disposable ( ) const
finalvirtualnoexcept

Implements caf::disposable::impl.

◆ dispose()

template<class Buffer >
void caf::flow::op::from_resource_sub< Buffer >::dispose ( )
overridevirtual

Implements caf::disposable::impl.

◆ disposed()

template<class Buffer >
bool caf::flow::op::from_resource_sub< Buffer >::disposed ( ) const
overridevirtualnoexcept

Implements caf::disposable::impl.

◆ on_producer_ready()

template<class Buffer >
void caf::flow::op::from_resource_sub< Buffer >::on_producer_ready ( )
overridevirtual

Called to signal that the producer started emitting items.

Implements caf::async::consumer.

◆ on_producer_wakeup()

template<class Buffer >
void caf::flow::op::from_resource_sub< Buffer >::on_producer_wakeup ( )
overridevirtual

Called to signal to the consumer that the producer added an item to a previously empty source or completed the flow of events.

Implements caf::async::consumer.

◆ ref_consumer()

template<class Buffer >
void caf::flow::op::from_resource_sub< Buffer >::ref_consumer ( ) const
finalvirtualnoexcept

Increases the reference count of the consumer.

Implements caf::async::consumer.

◆ ref_disposable()

template<class Buffer >
void caf::flow::op::from_resource_sub< Buffer >::ref_disposable ( ) const
finalvirtualnoexcept

Implements caf::disposable::impl.

◆ request()

template<class Buffer >
void caf::flow::op::from_resource_sub< Buffer >::request ( size_t  n)
overridevirtual

Signals demand for n more items.

Implements caf::flow::subscription::impl.


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