28class ResponseFuture
final {
30 ResponseFuture(ResponseFuture&& other)
noexcept;
31 ResponseFuture& operator=(ResponseFuture&&)
noexcept;
32 ResponseFuture(
const ResponseFuture&) =
delete;
33 ResponseFuture& operator=(
const ResponseFuture&) =
delete;
46 std::future_status
Wait(
utils::impl::SourceLocation location =
utils::impl::SourceLocation::Current());
49 std::shared_ptr<Response>
Get(
utils::impl::SourceLocation location =
utils::impl::SourceLocation::Current());
53 engine::
impl::ContextAccessor* TryGetContextAccessor()
noexcept;
55 ResponseFuture(engine::Future<std::shared_ptr<Response>>&& future, std::shared_ptr<RequestState> request);
59 void CancelOrDetach();
61 engine::Future<std::shared_ptr<Response>> future_;
62 engine::Deadline deadline_;
63 std::shared_ptr<RequestState> request_state_;
64 bool was_deadline_propagated_{
false};
65 CancellationPolicy cancellation_policy_;