HealthClient

Struct HealthClient 

pub struct HealthClient<T> { /* private fields */ }
Expand description

Health is gRPC’s mechanism for checking whether a server is able to handle RPCs. Its semantics are documented in https://github.com/grpc/grpc/blob/master/doc/health-checking.md.

Implementations§

§

impl<T> HealthClient<T>
where T: GrpcService<Body>, <T as GrpcService<Body>>::Error: Into<Box<dyn Error + Sync + Send>>, <T as GrpcService<Body>>::ResponseBody: Body<Data = Bytes> + Send + Sync + 'static, <<T as GrpcService<Body>>::ResponseBody as Body>::Error: Into<Box<dyn Error + Sync + Send>> + Send,

pub fn new(inner: T, origin: Uri) -> HealthClient<T>

pub fn into_inner(self) -> Grpc<T>

pub fn into_transport(self) -> T

pub fn with_send_compressed( self, encoding: CompressionEncoding, ) -> HealthClient<T>

Compress requests with the given encoding.

This requires the server to support it otherwise it might respond with an error.

pub fn set_send_compressed( &mut self, encoding: CompressionEncoding, ) -> &mut HealthClient<T>

Compress requests with the given encoding.

This requires the server to support it otherwise it might respond with an error.

pub fn with_accept_compressed( self, encoding: CompressionEncoding, ) -> HealthClient<T>

Enable decompressing responses.

pub fn set_accept_compressed( &mut self, encoding: CompressionEncoding, ) -> &mut HealthClient<T>

Enable decompressing responses.

pub fn with_max_decoding_message_size(self, limit: usize) -> HealthClient<T>

Limits the maximum size of a decoded message.

Default: 4MB

pub fn set_max_decoding_message_size( &mut self, limit: usize, ) -> &mut HealthClient<T>

Limits the maximum size of a decoded message.

Default: 4MB

pub fn with_max_encoding_message_size(self, limit: usize) -> HealthClient<T>

Limits the maximum size of an encoded message.

Default: usize::MAX

pub fn set_max_encoding_message_size( &mut self, limit: usize, ) -> &mut HealthClient<T>

Limits the maximum size of an encoded message.

Default: usize::MAX

pub async fn check( &self, request: impl IntoRequest<HealthCheckRequest>, ) -> Result<Response<HealthCheckResponse>, Status>

Check gets the health of the specified service. If the requested service is unknown, the call will fail with status NOT_FOUND. If the caller does not specify a service name, the server should respond with its overall health status.

Clients should set a deadline when calling Check, and can declare the server unhealthy if they do not receive a timely response.

pub async fn list( &self, request: impl IntoRequest<HealthListRequest>, ) -> Result<Response<HealthListResponse>, Status>

List provides a non-atomic snapshot of the health of all the available services.

The server may respond with a RESOURCE_EXHAUSTED error if too many services exist.

Clients should set a deadline when calling List, and can declare the server unhealthy if they do not receive a timely response.

Clients should keep in mind that the list of health services exposed by an application can change over the lifetime of the process.

pub async fn watch( &self, request: impl IntoRequest<HealthCheckRequest>, ) -> Result<Response<Streaming<HealthCheckResponse>>, Status>

Performs a watch for the serving status of the requested service. The server will immediately send back a message indicating the current serving status. It will then subsequently send a new message whenever the service’s serving status changes.

If the requested service is unknown when the call is received, the server will send a message setting the serving status to SERVICE_UNKNOWN but will not terminate the call. If at some future point, the serving status of the service becomes known, the server will send a new message with the service’s serving status.

If the call terminates with status UNIMPLEMENTED, then clients should assume this method is not supported and should not retry the call. If the call terminates with any other status (including OK), clients should retry the call with appropriate exponential backoff.

Trait Implementations§

§

impl<T> Clone for HealthClient<T>
where T: Clone,

§

fn clone(&self) -> HealthClient<T>

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
§

impl<T> Debug for HealthClient<T>
where T: Debug,

§

fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

Formats the value using the given formatter. Read more

Auto Trait Implementations§

§

impl<T> !Freeze for HealthClient<T>

§

impl<T> RefUnwindSafe for HealthClient<T>
where T: RefUnwindSafe,

§

impl<T> Send for HealthClient<T>
where T: Send,

§

impl<T> Sync for HealthClient<T>
where T: Sync,

§

impl<T> Unpin for HealthClient<T>
where T: Unpin,

§

impl<T> UnwindSafe for HealthClient<T>
where T: UnwindSafe,

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
§

impl<'a, T, E> AsTaggedExplicit<'a, E> for T
where T: 'a,

§

fn explicit(self, class: Class, tag: u32) -> TaggedParser<'a, Explicit, Self, E>

§

impl<'a, T, E> AsTaggedImplicit<'a, E> for T
where T: 'a,

§

fn implicit( self, class: Class, constructed: bool, tag: u32, ) -> TaggedParser<'a, Implicit, Self, E>

Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

§

impl<T> FromRef<T> for T
where T: Clone,

§

fn from_ref(input: &T) -> T

Converts to this type from a reference to the input type.
§

impl<T> FutureExt for T

§

fn with_context(self, otel_cx: Context) -> WithContext<Self>

Attaches the provided Context to this type, returning a WithContext wrapper. Read more
§

fn with_current_context(self) -> WithContext<Self>

Attaches the current Context to this type, returning a WithContext wrapper. Read more
§

impl<T> Instrument for T

§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> IntoEither for T

Source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts 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 more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

Converts 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
§

impl<T> IntoRequest<T> for T

§

fn into_request(self) -> Request<T>

Wrap the input message T in a rama_grpc::Request
§

impl<L> LayerExt<L> for L

§

fn named_layer<S>(&self, service: S) -> Layered<<L as Layer<S>>::Service, S>
where L: Layer<S>,

Applies the layer to a service and wraps it in Layered.
§

impl<T> Pointable for T

§

const ALIGN: usize

The alignment of pointer.
§

type Init = T

The type for initializers.
§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
§

impl<T> PolicyExt for T
where T: ?Sized,

§

fn and<P, B, E>(self, other: P) -> And<T, P>
where T: Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow only if self and other return Action::Follow. Read more
§

fn or<P, B, E>(self, other: P) -> Or<T, P>
where T: Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow if either self or other returns Action::Follow. Read more
§

impl<T, U> RamaFrom<T> for U
where U: From<T>,

§

fn rama_from(value: T) -> U

§

impl<T, U, CrateMarker> RamaInto<U, CrateMarker> for T
where U: RamaFrom<T, CrateMarker>,

§

fn rama_into(self) -> U

§

impl<T, U> RamaTryFrom<T> for U
where U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

§

fn rama_try_from(value: T) -> Result<U, <U as RamaTryFrom<T>>::Error>

§

impl<T, U, CrateMarker> RamaTryInto<U, CrateMarker> for T
where U: RamaTryFrom<T, CrateMarker>,

§

type Error = <U as RamaTryFrom<T, CrateMarker>>::Error

§

fn rama_try_into(self) -> Result<U, <U as RamaTryFrom<T, CrateMarker>>::Error>

Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

§

fn vzip(self) -> V

§

impl<T> WithSubscriber for T

§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more