std::future<RETURN_VALUE> post( const COMMAND& cmd ) { std::promise<RETURN_VALUE> p; std::future<RETURN_VALUE> waiter = p.get_future(); _actorQueue.post_front( std::pair<COMMAND,std::promise<RETURN_VALUE>>(cmd, std::move(p)) ); return waiter; }