message send(implementation_type& impl, message& m, const Duration& timeout) { if(timeout == Duration::zero()) { //TODO this can return false if it failed impl.send(m); return message(); } else { return impl.send_with_reply_and_block(m, chrono::milliseconds(timeout).count()); } }
message send(implementation_type& impl, message& m) { return impl.send_with_reply_and_block(m); }