|
| buffered_scatterer (local_actor *selfptr) |
|
template<class T0 , class... Ts> |
void | push (T0 &&x, Ts &&... xs) |
|
chunk_type | get_chunk (long n) |
|
long | buffered () const override |
| Returns the size of the output buffer.
|
|
buffer_type & | buf () |
|
const buffer_type & | buf () const |
|
| stream_scatterer_impl (local_actor *selfptr) |
|
void | abort (error reason) override |
| Removes all paths with an error message.
|
|
long | total_credit () const |
| Returns the total number (sum) of all credit in paths() .
|
|
long | min_credit () const |
| Returns the minimum number of credit in paths() .
|
|
long | max_credit () const |
| Returns the maximum number of credit in paths() .
|
|
void | close () override |
| Removes all paths gracefully.
|
|
path_ptr | add_path (const stream_id &sid, strong_actor_ptr origin, strong_actor_ptr sink_ptr, mailbox_element::forwarding_stack stages, message_id handshake_mid, message handshake_data, stream_priority prio, bool redeployable) override |
| Adds a path to the edge. More...
|
|
path_ptr | confirm_path (const stream_id &sid, const actor_addr &from, strong_actor_ptr to, long initial_demand, bool redeployable) override |
| Adds a path to a sink and initiates the handshake.
|
|
bool | paths_clean () const override |
| Returns true if there is no data pending and no unacknowledged batch on any path. More...
|
|
long | min_batch_size () const override |
| Minimum amount of messages required to emit a batch. More...
|
|
long | max_batch_size () const override |
| Maximum amount of messages to put into a single batch. More...
|
|
long | min_buffer_size () const override |
| Minimum amount of messages we wish to store at the actor in order to emit new batches immediately when receiving new downstream demand. More...
|
|
duration | max_batch_delay () const override |
| Forces to actor to emit a batch even if the minimum batch size was not reached. More...
|
|
void | min_batch_size (long x) override |
| Minimum amount of messages required to emit a batch. More...
|
|
void | max_batch_size (long x) override |
| Maximum amount of messages to put into a single batch. More...
|
|
void | min_buffer_size (long x) override |
| Minimum amount of messages we wish to store at the actor in order to emit new batches immediately when receiving new downstream demand. More...
|
|
void | max_batch_delay (duration x) override |
| Forces to actor to emit a batch even if the minimum batch size was not reached. More...
|
|
| stream_edge_impl (local_actor *selfptr) |
|
path_ptr | find (const stream_id &sid, const actor_addr &x) override |
|
const path_uptr_vec & | paths () const |
| Returns all available paths.
|
|
local_actor * | self () const |
| Returns a pointer to the parent actor.
|
|
bool | remove_path (path_uptr_iter i, error reason, bool silent) |
|
bool | remove_path (const stream_id &sid, const actor_addr &x, error reason, bool silent) override |
|
void | abort (error reason) override |
|
long | num_paths () const override |
|
bool | closed () const override |
|
bool | continuous () const override |
|
void | continuous (bool value) override |
|
path_ptr | path_at (size_t index) override |
|
virtual void | emit_batches ()=0 |
| Sends batches to sinks.
|
|
virtual long | credit () const =0 |
| Returns the currently available credit, depending on the policy in use. More...
|
|
bool | remove_path (const stream_id &sid, const strong_actor_ptr &x, error reason, bool silent) |
| Removes a path from the scatterer.
|
|
path_ptr | find (const stream_id &sid, const strong_actor_ptr &x) |
| Convenience function for calling find(x, actor_cast<actor_addr>(x)) .
|
|
|
static chunk_type | get_chunk (buffer_type &buf, long n) |
|
template<class PathContainer , class F > |
static long | fold_credit (const PathContainer &xs, long x0, F f) |
| Folds paths() by extracting the open_credit from each path.
|
|
template<class PathContainer > |
static long | total_credit (const PathContainer &xs) |
| Returns the total number (sum) of all credit in xs .
|
|
template<class PathContainer > |
static long | min_credit (const PathContainer &xs) |
| Returns the minimum number of credit in xs .
|
|
template<class PathContainer > |
static long | max_credit (const PathContainer &xs) |
|
static void | sort_by_credit (PathContainer &xs) |
| Sorts xs in descending order by available credit.
|
|
static T | fold (PathContainer &xs, T init, F f) |
|
static path_ptr | find (PathContainer &xs, const stream_id &sid, const Handle &x) |
| Finds the path for ptr and returns a pointer to it.
|
|
static PathContainer::iterator | iter_find (PathContainer &xs, const stream_id &sid, const Handle &x) |
| Finds the path for ptr and returns an iterator to it.
|
|
template<class T>
class caf::buffered_scatterer< T >
Mixin for streams with any number of downstreams.
Subtype
must provide a member function buf()
returning a queue with std::deque
-like interface.