コード例 #1
0
void abstract_broker::launch(execution_unit* eu, bool is_lazy, bool is_hidden) {
  CAF_ASSERT(eu != nullptr);
  CAF_ASSERT(eu == &backend());
  // add implicit reference count held by middleman/multiplexer
  if (!is_hidden)
    register_at_system();
  CAF_PUSH_AID(id());
  CAF_LOG_TRACE("init and launch broker:" << CAF_ARG(id()));
  if (is_lazy && mailbox().try_block())
    return;
  intrusive_ptr_add_ref(ctrl());
  eu->exec_later(this);
}
コード例 #2
0
void actor_companion::launch(execution_unit*, bool, bool hide) {
  if (!hide)
    register_at_system();
}
コード例 #3
0
actor_pool::actor_pool(actor_config& cfg) : monitorable_actor(cfg) {
  register_at_system();
}