template <typename V, typename E>
class bridge_state
Defined at line 39 of file ../../sdk/lib/fit-promise/include/lib/fpromise/bridge_internal.h
State shared between one completer and one consumer.
This object is somewhat unusual in that it has dual-ownership represented
by a pair of single-ownership references: a |completion_ref| and a
|consumption_ref|.
The bridge's state evolves as follows:
- Initially the bridge's disposition is "pending".
- When the completer produces a result, the bridge's disposition
becomes "completed".
- When the completer drops its ref without producing a result,
the bridge's disposition becomes "abandoned".
- When the consumer drops its ref without consuming the result,
the bridge's disposition becomes "canceled".
- When a full rendezvous between completer and consumer takes place,
the bridge's disposition becomes "returned".
- When both refs are dropped, the bridge state is destroyed.
Public Methods
void ~bridge_state<V, E> ()
Defined at line 47 of file ../../sdk/lib/fit-promise/include/lib/fpromise/bridge_internal.h
void bridge_state<V, E> (const bridge_state<V, E> & )
Defined at line 55 of file ../../sdk/lib/fit-promise/include/lib/fpromise/bridge_internal.h
void bridge_state<V, E> (bridge_state<V, E> && )
Defined at line 56 of file ../../sdk/lib/fit-promise/include/lib/fpromise/bridge_internal.h
bridge_state<V, E> & operator= (const bridge_state<V, E> & )
Defined at line 57 of file ../../sdk/lib/fit-promise/include/lib/fpromise/bridge_internal.h
bridge_state<V, E> & operator= (bridge_state<V, E> && )
Defined at line 58 of file ../../sdk/lib/fit-promise/include/lib/fpromise/bridge_internal.h
void create (completion_ref * out_completion_ref, consumption_ref * out_consumption_ref)
Defined at line 241 of file ../../sdk/lib/fit-promise/include/lib/fpromise/bridge_internal.h
bool was_canceled ()
Defined at line 249 of file ../../sdk/lib/fit-promise/include/lib/fpromise/bridge_internal.h
bool was_abandoned ()
Defined at line 255 of file ../../sdk/lib/fit-promise/include/lib/fpromise/bridge_internal.h
void complete_or_abandon (completion_ref ref, result_type result)
Defined at line 318 of file ../../sdk/lib/fit-promise/include/lib/fpromise/bridge_internal.h