async_result<T>::async_result(const session &sess) : m_data(std::make_shared<data>()) { m_data->filter = sess.get_filter(); m_data->checker = sess.get_checker(); m_data->policy = sess.get_exceptions_policy(); m_data->error_handler = sess.get_error_handler(); }