Trait Health
pub trait Health:
Send
+ Sync
+ 'static {
type WatchStream: Stream<Item = Result<HealthCheckResponse, Status>> + Send + Sync + 'static;
// Required methods
fn check(
&self,
request: Request<HealthCheckRequest>,
) -> impl Future<Output = Result<Response<HealthCheckResponse>, Status>> + Send;
fn list(
&self,
request: Request<HealthListRequest>,
) -> impl Future<Output = Result<Response<HealthListResponse>, Status>> + Send;
fn watch(
&self,
request: Request<HealthCheckRequest>,
) -> impl Future<Output = Result<Response<Self::WatchStream>, Status>> + Send;
}Expand description
Generated trait containing gRPC methods that should be implemented for use with HealthServer.
Required Associated Types§
type WatchStream: Stream<Item = Result<HealthCheckResponse, Status>> + Send + Sync + 'static
type WatchStream: Stream<Item = Result<HealthCheckResponse, Status>> + Send + Sync + 'static
Server streaming response type for the Watch method.
Required Methods§
fn check(
&self,
request: Request<HealthCheckRequest>,
) -> impl Future<Output = Result<Response<HealthCheckResponse>, Status>> + Send
fn check( &self, request: Request<HealthCheckRequest>, ) -> impl Future<Output = Result<Response<HealthCheckResponse>, Status>> + Send
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.
fn list(
&self,
request: Request<HealthListRequest>,
) -> impl Future<Output = Result<Response<HealthListResponse>, Status>> + Send
fn list( &self, request: Request<HealthListRequest>, ) -> impl Future<Output = Result<Response<HealthListResponse>, Status>> + Send
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.
fn watch(
&self,
request: Request<HealthCheckRequest>,
) -> impl Future<Output = Result<Response<Self::WatchStream>, Status>> + Send
fn watch( &self, request: Request<HealthCheckRequest>, ) -> impl Future<Output = Result<Response<Self::WatchStream>, Status>> + Send
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.
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.