C++ Actor Framework 0.19
Loading...
Searching...
No Matches
Public Types | Public Member Functions | List of all members
caf::typed_actor_view< Sigs > Class Template Reference

Decorates a pointer to a scheduled_actor with a statically typed actor interface. More...

#include <typed_actor_view.hpp>

Inherits extend:: template with< mixin::sender, mixin::requester >.

Public Types

using signatures = detail::type_list< Sigs... >
 Stores the template parameter pack.
 
using pointer = scheduled_actor *
 

Public Member Functions

 typed_actor_view (scheduled_actor *ptr)
 
template<class T , spawn_options Os = no_spawn_options, class... Ts>
infer_handle_from_class< T >::type spawn (Ts &&... xs)
 
template<spawn_options Os = no_spawn_options, class F , class... Ts>
infer_handle_from_fun< F >::type spawn (F fun, Ts &&... xs)
 
void quit (error x=error{})
 
auto address () const noexcept
 Returns the logical actor address.
 
auto id () const noexcept
 Returns the ID of this actor.
 
auto node () const noexcept
 Returns the node this actor is living on.
 
auto & home_system () const noexcept
 Returns the system that created this actor (or proxy).
 
auto context () const noexcept
 Returns the execution unit currently used by this actor.
 
auto & system () const noexcept
 Returns the hosting actor system.
 
const auto & config () const noexcept
 Returns the config of the hosting actor system.
 
auto & clock () const noexcept
 Returns the clock of the actor system.
 
auto & current_sender () noexcept
 Returns a pointer to the sender of the current message.
 
auto current_message_id () noexcept
 Returns the ID of the current message.
 
auto * current_mailbox_element ()
 Returns a pointer to the currently processed mailbox element.
 
const auto & fail_state () const
 Returns the currently defined fail state.
 
auto & mailbox () noexcept
 
template<class Fun >
void set_default_handler (Fun &&fun)
 
template<class Fun >
void set_error_handler (Fun &&fun)
 
template<class Fun >
void set_down_handler (Fun &&fun)
 
template<class Fun >
void set_node_down_handler (Fun &&fun)
 
template<class Fun >
void set_exit_handler (Fun &&fun)
 
template<class ActorHandle >
void link_to (const ActorHandle &x)
 Links this actor to x.
 
template<class ActorHandle >
void unlink_from (const ActorHandle &x)
 Unlinks this actor from x.
 
void monitor (const node_id &node)
 Adds a unidirectional monitor to node.
 
template<message_priority P = message_priority::normal, class Handle >
void monitor (const Handle &whom)
 Adds a unidirectional monitor to node.
 
void demonitor (const node_id &node)
 Removes a monitor from whom.
 
template<class Handle >
void demonitor (const Handle &whom)
 Removes a monitor from whom.
 
template<class ActorHandle >
void send_exit (const ActorHandle &whom, error reason)
 Sends an exit message to whom.
 
template<class Clock , class Duration , class F >
disposable run_scheduled (std::chrono::time_point< Clock, Duration > when, F what)
 
template<class Clock , class Duration , class F >
disposable run_scheduled_weak (std::chrono::time_point< Clock, Duration > when, F what)
 
template<class Rep , class Period , class F >
disposable run_delayed (std::chrono::duration< Rep, Period > delay, F what)
 
template<class Rep , class Period , class F >
disposable run_delayed_weak (std::chrono::duration< Rep, Period > delay, F what)
 
void quit (exit_reason reason=exit_reason::normal)
 
template<class... Ts>
detail::make_response_promise_helper< Ts... >::type make_response_promise ()
 
message_id new_request_id (message_priority mp)
 
disposable request_response_timeout (timespan d, message_id mid)
 
response_promise make_response_promise ()
 
template<class... Ts>
void eq_impl (Ts &&... xs)
 
void add_awaited_response_handler (message_id response_id, behavior bhvr)
 
void add_multiplexed_response_handler (message_id response_id, behavior bhvr)
 
template<class Handle , class... Ts>
auto delegate (const Handle &dest, Ts &&... xs)
 
 operator scheduled_actor * () const noexcept
 
template<class T = none_t>
auto make_observable ()
 Returns a factory object for new observable objects on this coordinator.
 
template<class Observable >
auto to_stream (cow_string name, timespan max_delay, size_t max_items_per_batch, Observable &&obs)
 
template<class Observable >
auto to_stream (std::string name, timespan max_delay, size_t max_items_per_batch, Observable &&obs)
 
scheduled_actor::to_stream_t to_stream (cow_string name, timespan max_delay, size_t max_items_per_batch)
 Returns a function object for passing it to compose.
 
scheduled_actor::to_stream_t to_stream (std::string name, timespan max_delay, size_t max_items_per_batch)
 Returns a function object for passing it to compose.
 
template<class Observable >
auto to_typed_stream (cow_string name, timespan max_delay, size_t max_items_per_batch, Observable obs)
 
template<class Observable >
auto to_typed_stream (std::string name, timespan max_delay, size_t max_items_per_batch, Observable obs)
 
scheduled_actor::to_typed_stream_t to_typed_stream (cow_string name, timespan max_delay, size_t max_items_per_batch)
 Returns a function object for passing it to compose.
 
scheduled_actor::to_typed_stream_t to_typed_stream (std::string name, timespan max_delay, size_t max_items_per_batch)
 Returns a function object for passing it to compose.
 
template<class T >
auto observe (typed_stream< T > what, size_t buf_capacity, size_t demand_threshold)
 
template<class T >
auto observe_as (stream what, size_t buf_capacity, size_t demand_threshold)
 
void deregister_stream (uint64_t stream_id)
 

Detailed Description

template<class... Sigs>
class caf::typed_actor_view< Sigs >

Decorates a pointer to a scheduled_actor with a statically typed actor interface.

Member Function Documentation

◆ address()

template<class... Sigs>
auto caf::typed_actor_view< Sigs >::address ( ) const
noexcept

Returns the logical actor address.

◆ clock()

template<class... Sigs>
auto & caf::typed_actor_view< Sigs >::clock ( ) const
noexcept

Returns the clock of the actor system.

◆ config()

template<class... Sigs>
const auto & caf::typed_actor_view< Sigs >::config ( ) const
noexcept

Returns the config of the hosting actor system.

◆ context()

template<class... Sigs>
auto caf::typed_actor_view< Sigs >::context ( ) const
noexcept

Returns the execution unit currently used by this actor.

◆ current_mailbox_element()

template<class... Sigs>
auto * caf::typed_actor_view< Sigs >::current_mailbox_element ( )

Returns a pointer to the currently processed mailbox element.

◆ current_message_id()

template<class... Sigs>
auto caf::typed_actor_view< Sigs >::current_message_id ( )
noexcept

Returns the ID of the current message.

◆ current_sender()

template<class... Sigs>
auto & caf::typed_actor_view< Sigs >::current_sender ( )
noexcept

Returns a pointer to the sender of the current message.

Precondition
current_mailbox_element() != nullptr

◆ demonitor() [1/2]

template<class... Sigs>
template<class Handle >
void caf::typed_actor_view< Sigs >::demonitor ( const Handle &  whom)

Removes a monitor from whom.

◆ demonitor() [2/2]

template<class... Sigs>
void caf::typed_actor_view< Sigs >::demonitor ( const node_id node)

Removes a monitor from whom.

◆ deregister_stream()

template<class... Sigs>
void caf::typed_actor_view< Sigs >::deregister_stream ( uint64_t  stream_id)

◆ fail_state()

template<class... Sigs>
const auto & caf::typed_actor_view< Sigs >::fail_state ( ) const

Returns the currently defined fail state.

If this reason is not none then the actor will terminate with this error after executing the current message handler.

◆ home_system()

template<class... Sigs>
auto & caf::typed_actor_view< Sigs >::home_system ( ) const
noexcept

Returns the system that created this actor (or proxy).

◆ id()

template<class... Sigs>
auto caf::typed_actor_view< Sigs >::id ( ) const
noexcept

Returns the ID of this actor.

◆ link_to()

template<class... Sigs>
template<class ActorHandle >
void caf::typed_actor_view< Sigs >::link_to ( const ActorHandle &  x)

Links this actor to x.

◆ mailbox()

template<class... Sigs>
auto & caf::typed_actor_view< Sigs >::mailbox ( )
noexcept

◆ make_observable()

template<class... Sigs>
template<class T = none_t>
auto caf::typed_actor_view< Sigs >::make_observable ( )

Returns a factory object for new observable objects on this coordinator.

◆ monitor() [1/2]

template<class... Sigs>
template<message_priority P = message_priority::normal, class Handle >
void caf::typed_actor_view< Sigs >::monitor ( const Handle &  whom)

Adds a unidirectional monitor to node.

Note
Each call to monitor creates a new, independent monitor.

◆ monitor() [2/2]

template<class... Sigs>
void caf::typed_actor_view< Sigs >::monitor ( const node_id node)

Adds a unidirectional monitor to node.

Note
Each call to monitor creates a new, independent monitor.

◆ node()

template<class... Sigs>
auto caf::typed_actor_view< Sigs >::node ( ) const
noexcept

Returns the node this actor is living on.

◆ observe()

template<class... Sigs>
template<class T >
auto caf::typed_actor_view< Sigs >::observe ( typed_stream< T >  what,
size_t  buf_capacity,
size_t  demand_threshold 
)

◆ observe_as()

template<class... Sigs>
template<class T >
auto caf::typed_actor_view< Sigs >::observe_as ( stream  what,
size_t  buf_capacity,
size_t  demand_threshold 
)

◆ quit()

template<class... Sigs>
void caf::typed_actor_view< Sigs >::quit ( error  x = error{})

◆ run_delayed()

template<class... Sigs>
template<class Rep , class Period , class F >
disposable caf::typed_actor_view< Sigs >::run_delayed ( std::chrono::duration< Rep, Period >  delay,
what 
)

◆ run_delayed_weak()

template<class... Sigs>
template<class Rep , class Period , class F >
disposable caf::typed_actor_view< Sigs >::run_delayed_weak ( std::chrono::duration< Rep, Period >  delay,
what 
)

◆ run_scheduled()

template<class... Sigs>
template<class Clock , class Duration , class F >
disposable caf::typed_actor_view< Sigs >::run_scheduled ( std::chrono::time_point< Clock, Duration >  when,
what 
)

◆ run_scheduled_weak()

template<class... Sigs>
template<class Clock , class Duration , class F >
disposable caf::typed_actor_view< Sigs >::run_scheduled_weak ( std::chrono::time_point< Clock, Duration >  when,
what 
)

◆ send_exit()

template<class... Sigs>
template<class ActorHandle >
void caf::typed_actor_view< Sigs >::send_exit ( const ActorHandle &  whom,
error  reason 
)

Sends an exit message to whom.

◆ set_default_handler()

template<class... Sigs>
template<class Fun >
void caf::typed_actor_view< Sigs >::set_default_handler ( Fun &&  fun)

◆ set_down_handler()

template<class... Sigs>
template<class Fun >
void caf::typed_actor_view< Sigs >::set_down_handler ( Fun &&  fun)

◆ set_error_handler()

template<class... Sigs>
template<class Fun >
void caf::typed_actor_view< Sigs >::set_error_handler ( Fun &&  fun)

◆ set_exit_handler()

template<class... Sigs>
template<class Fun >
void caf::typed_actor_view< Sigs >::set_exit_handler ( Fun &&  fun)

◆ set_node_down_handler()

template<class... Sigs>
template<class Fun >
void caf::typed_actor_view< Sigs >::set_node_down_handler ( Fun &&  fun)

◆ spawn() [1/2]

template<class... Sigs>
template<spawn_options Os = no_spawn_options, class F , class... Ts>
infer_handle_from_fun< F >::type caf::typed_actor_view< Sigs >::spawn ( fun,
Ts &&...  xs 
)

◆ spawn() [2/2]

template<class... Sigs>
template<class T , spawn_options Os = no_spawn_options, class... Ts>
infer_handle_from_class< T >::type caf::typed_actor_view< Sigs >::spawn ( Ts &&...  xs)

◆ system()

template<class... Sigs>
auto & caf::typed_actor_view< Sigs >::system ( ) const
noexcept

Returns the hosting actor system.

◆ to_stream() [1/2]

template<class... Sigs>
template<class Observable >
auto caf::typed_actor_view< Sigs >::to_stream ( cow_string  name,
timespan  max_delay,
size_t  max_items_per_batch,
Observable &&  obs 
)

◆ to_stream() [2/2]

template<class... Sigs>
template<class Observable >
auto caf::typed_actor_view< Sigs >::to_stream ( std::string  name,
timespan  max_delay,
size_t  max_items_per_batch,
Observable &&  obs 
)

◆ to_typed_stream() [1/2]

template<class... Sigs>
template<class Observable >
auto caf::typed_actor_view< Sigs >::to_typed_stream ( cow_string  name,
timespan  max_delay,
size_t  max_items_per_batch,
Observable  obs 
)

◆ to_typed_stream() [2/2]

template<class... Sigs>
template<class Observable >
auto caf::typed_actor_view< Sigs >::to_typed_stream ( std::string  name,
timespan  max_delay,
size_t  max_items_per_batch,
Observable  obs 
)

◆ unlink_from()

template<class... Sigs>
template<class ActorHandle >
void caf::typed_actor_view< Sigs >::unlink_from ( const ActorHandle &  x)

Unlinks this actor from x.


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