conveyor

Description

Main interface for async operations.

Methods

conveyor ( fix_void< T > )

conveyor ( error && )

conveyor ( own< conveyor_node > )

conveyor ( conveyor < T > && )

conveyor < T > &

operator= ( conveyor < T > && )

conveyor_result< Func, T >

then ( Func &&, ErrorFunc && )

conveyor < T >

buffer ( size_t )

conveyor < T >

attach ( Args &&… )

conveyor < T >

limit ( size_t )

std::pair< conveyor < T >, merge_conveyor < T > >

merge ( )

void

detach ( ErrorFunc && )

conveyor_sink

sink ( ErrorFunc && )

error_or < T >

take ( )

void

poll ( wait_scope & )

void

detach ( ErrorFunc && )

to_conveyor ( )

from_conveyor ( )


Methods Description

conveyor ( fix_void< T > )

Construct an immediately fulfilled node

conveyor ( error && )

Construct an immediately failed node

conveyor ( own< conveyor_node > )

Construct a conveyor with a child node

conveyor ( conveyor < T > && )


conveyor < T > & operator= ( conveyor < T > && )


conveyor_result< Func, T > then ( Func &&, ErrorFunc && )

This method converts values or errors from children

conveyor < T > buffer ( size_t )

This method adds a buffer node in the conveyor chains which acts as a scheduler interrupt point and collects elements up to the supplied limit.

conveyor < T > attach ( Args &&… )

This method just takes ownership of any supplied types, which are destroyed when the chain gets destroyed. Useful for resource lifetime control.

conveyor < T > limit ( size_t )

Todo implement This method limits the total amount of passed elements Be careful where you place this node into the chain. If you meant to fork it and destroy paths you shouldn’t place an interrupt point between the fork and this limiter

std::pair< conveyor < T >, merge_conveyor < T > > merge ( )

Todo implement

void detach ( ErrorFunc && )

Moves the conveyor chain into a thread local storage point which drops every element. Use sink()

conveyor_sink sink ( ErrorFunc && )

Creates a local sink which drops elements, but lifetime control remains in your hand contrary to detach()

error_or < T > take ( )

If no sink() detach()

void poll ( wait_scope & )

Todo implement Specifically pump elements through this chain with the provided wait_scope

void detach ( ErrorFunc && )


to_conveyor ( )


from_conveyor ( )