inline void delayed_send(const channel_ptr& whom, const std::chrono::duration<Rep,Period>& rtime, Ts&&... what) { static_assert(sizeof...(Ts) > 0, "no message to send"); if (whom) { delayed_send_tuple(whom, rtime, make_any_tuple(std::forward<Ts>(what)...)); } }
inline void delayed_send(channel_destination dest, const util::duration& rtime, Ts&&... what) { static_assert(sizeof...(Ts) > 0, "no message to send"); if (dest.receiver) { delayed_send_tuple(std::move(dest), rtime, make_any_tuple(std::forward<Ts>(what)...)); } }
void delayed_send(const channel& whom, const duration& rtime, Ts&&... args) { delayed_send_tuple(message_priority::normal, whom, rtime, make_message(std::forward<Ts>(args)...)); }
/** * Sends a message to `whom` that is delayed by `rel_time`. */ inline void delayed_send_tuple(const channel& whom, const duration& rtime, message data) { delayed_send_tuple(message_priority::normal, whom, rtime, std::move(data)); }