struct Job {
request: HttpRequest,
respond_to: Sender<Result<HttpResponse, HttpError>>,
deadline: Option<Instant>,
connect_deadline: Option<Instant>,
}Expand description
A request for the worker thread, with a channel for the response head.
Fields§
§request: HttpRequest§respond_to: Sender<Result<HttpResponse, HttpError>>§deadline: Option<Instant>Whole-request deadline (connect + head + body), or None if no request timeout is set.
Computed at request initiation in AwcClient::call.
connect_deadline: Option<Instant>Deadline for receiving the response head — connect and head, since awc’s send_body bundles
them into one future with no “connected” hook to split them. None if no connect timeout is
set, and otherwise clamped to not exceed Job::deadline (the connect phase is part of the
whole request). Computed at request initiation in AwcClient::call.
Implementations§
Source§impl Job
impl Job
Sourceasync fn serve(self, client: Client)
async fn serve(self, client: Client)
Relays this request and answers the caller with the response head, whose body streams off the
worker thread over a SyncStream. Job::connect_deadline bounds receiving the head and
Job::deadline bounds the whole request, including each body read.
Sourcefn build_request(client: &Client, parts: &Parts) -> Result<ClientRequest, Error>
fn build_request(client: &Client, parts: &Parts) -> Result<ClientRequest, Error>
Translates an object_store request (the http 1.x crate) into an awc one (the http 0.2
crate), through the version-agnostic byte/string forms of the method and headers.
Auto Trait Implementations§
impl !Freeze for Job
impl !RefUnwindSafe for Job
impl Send for Job
impl Sync for Job
impl Unpin for Job
impl UnsafeUnpin for Job
impl !UnwindSafe for Job
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more