pub struct WorkerTaskServiceClient<T> { /* private fields */ }Expand description
Hosted by Dex server; pull Workers open streams for at most one task at a time.
Implementations§
Source§impl<T> WorkerTaskServiceClient<T>where
T: GrpcService<Body>,
T::Error: Into<StdError>,
T::ResponseBody: Body<Data = Bytes> + Send + 'static,
<T::ResponseBody as Body>::Error: Into<StdError> + Send,
impl<T> WorkerTaskServiceClient<T>where
T: GrpcService<Body>,
T::Error: Into<StdError>,
T::ResponseBody: Body<Data = Bytes> + Send + 'static,
<T::ResponseBody as Body>::Error: Into<StdError> + Send,
pub fn new(inner: T) -> Self
pub fn with_origin(inner: T, origin: Uri) -> Self
pub fn with_interceptor<F>(
inner: T,
interceptor: F,
) -> WorkerTaskServiceClient<InterceptedService<T, F>>where
F: Interceptor,
T::ResponseBody: Default,
T: Service<Request<Body>, Response = Response<<T as GrpcService<Body>>::ResponseBody>>,
<T as Service<Request<Body>>>::Error: Into<StdError> + Send + Sync,
Sourcepub fn send_compressed(self, encoding: CompressionEncoding) -> Self
pub fn send_compressed(self, encoding: CompressionEncoding) -> Self
Compress requests with the given encoding.
This requires the server to support it otherwise it might respond with an error.
Sourcepub fn accept_compressed(self, encoding: CompressionEncoding) -> Self
pub fn accept_compressed(self, encoding: CompressionEncoding) -> Self
Enable decompressing responses.
Sourcepub fn max_decoding_message_size(self, limit: usize) -> Self
pub fn max_decoding_message_size(self, limit: usize) -> Self
Limits the maximum size of a decoded message.
Default: 4MB
Sourcepub fn max_encoding_message_size(self, limit: usize) -> Self
pub fn max_encoding_message_size(self, limit: usize) -> Self
Limits the maximum size of an encoded message.
Default: usize::MAX
Sourcepub async fn poll_worker_task(
&mut self,
request: impl IntoStreamingRequest<Message = PollWorkerTaskRequest>,
) -> Result<Response<Streaming<PollWorkerTaskResponse>>, Status>
pub async fn poll_worker_task( &mut self, request: impl IntoStreamingRequest<Message = PollWorkerTaskRequest>, ) -> Result<Response<Streaming<PollWorkerTaskResponse>>, Status>
Exchanges registration, task, result, and control frames for a queue or a reserved execution slot. To stop taking work, a reserved-slot Worker cleanly half-closes an idle stream’s request side and keeps reading until Dex ends the stream. It drops tasks arriving after that decision and sends no frame at all for a dropped task: no rejection and no output. On a clean half-close of a reserved-slot stream, Dex treats a sent task without output as not delivered and dispatches it again with the same attempt number. A half-close of any other stream is still a disconnect. A Worker must send a started task’s final output before half-closing its stream. A transport error or reset instead means the Worker may have run the task.
Trait Implementations§
Source§impl<T: Clone> Clone for WorkerTaskServiceClient<T>
impl<T: Clone> Clone for WorkerTaskServiceClient<T>
Auto Trait Implementations§
impl<T> !Freeze for WorkerTaskServiceClient<T>
impl<T> RefUnwindSafe for WorkerTaskServiceClient<T>where
Grpc<T>: RefUnwindSafe,
impl<T> Send for WorkerTaskServiceClient<T>
impl<T> Sync for WorkerTaskServiceClient<T>
impl<T> Unpin for WorkerTaskServiceClient<T>
impl<T> UnsafeUnpin for WorkerTaskServiceClient<T>where
Grpc<T>: UnsafeUnpin,
impl<T> UnwindSafe for WorkerTaskServiceClient<T>where
Grpc<T>: UnwindSafe,
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> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
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> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
T in a tonic::Request