Esempio n. 1
0
 message_id sync_send_impl(message_priority mp, const Handle& dh, Ts&&... xs) {
   if (! dh) {
     throw std::invalid_argument("cannot sync_send to invalid_actor");
   }
   auto req_id = new_request_id(mp);
   send_impl(req_id, actor_cast<abstract_channel*>(dh),
             std::forward<Ts>(xs)...);
   return req_id.response_id();
 }
Esempio n. 2
0
 void send(const typed_actor<Sigs...>& dest, Ts&&... xs) {
   using token =
     detail::type_list<
       typename detail::implicit_conversions<
         typename std::decay<Ts>::type
       >::type...>;
   token tk;
   check_typed_input(dest, tk);
   send_impl(message_id::make(), actor_cast<abstract_channel*>(dest),
             std::forward<Ts>(xs)...);
 }
Esempio n. 3
0
 void send(message_priority mp, const channel& dest, Ts&&... xs) {
   static_assert(sizeof...(Ts) > 0, "sizeof...(Ts) == 0");
   send_impl(message_id::make(mp), actor_cast<abstract_channel*>(dest),
             std::forward<Ts>(xs)...);
 }
Esempio n. 4
0
 void send(const channel& dest, Ts&&... xs) {
   send_impl(message_id::make(), actor_cast<abstract_channel*>(dest),
             std::forward<Ts>(xs)...);
 }
Esempio n. 5
0
File: pipe.hpp Progetto: ppknap/link
 /// Sends result produced by sender to addressee object.
 void send(LResult const& ret) const
 {
     send_impl(ret);
 }
Esempio n. 6
0
 void send(Recver const& recver, Match type, A1 const& a1, A2 const& a2, A3 const& a3, A4 const& a4, A5 const& a5)
 {
   message m(to_match(type));
   m << a1 << a2 << a3 << a4 << a5;
   send_impl(get_actor_ref(), recver, m);
 }
Esempio n. 7
0
 void send(Recver const& recver, Match type, A1 const& a1, A2 const& a2)
 {
   message m(to_match(type));
   m << a1 << a2;
   send_impl(get_actor_ref(), recver, m);
 }
Esempio n. 8
0
 void send(Recver const& recver, Match type)
 {
   message m(to_match(type));
   send_impl(get_actor_ref(), recver, m);
 }
Esempio n. 9
0
 void send(Recver const& recver)
 {
   message m;
   send_impl(get_actor_ref(), recver, m);
 }