Struct google_api_proto::google::api::servicecontrol::v1::service_controller_client::ServiceControllerClient
source · pub struct ServiceControllerClient<T> { /* private fields */ }
Expand description
Lets clients check and report operations against a managed service.
Implementations§
source§impl<T> ServiceControllerClient<T>where
T: GrpcService<BoxBody>,
T::Error: Into<StdError>,
T::ResponseBody: Body<Data = Bytes> + Send + 'static,
<T::ResponseBody as Body>::Error: Into<StdError> + Send,
impl<T> ServiceControllerClient<T>where
T: GrpcService<BoxBody>,
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,
) -> ServiceControllerClient<InterceptedService<T, F>>where
F: Interceptor,
T::ResponseBody: Default,
T: Service<Request<BoxBody>, Response = Response<<T as GrpcService<BoxBody>>::ResponseBody>>,
<T as Service<Request<BoxBody>>>::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 check(
&mut self,
request: impl IntoRequest<CheckRequest>,
) -> Result<Response<CheckResponse>, Status>
pub async fn check( &mut self, request: impl IntoRequest<CheckRequest>, ) -> Result<Response<CheckResponse>, Status>
Checks whether an operation on a service should be allowed to proceed based on the configuration of the service and related policies. It must be called before the operation is executed.
If feasible, the client should cache the check results and reuse them for
60 seconds. In case of any server errors, the client should rely on the
cached results for much longer time to avoid outage.
WARNING: There is general 60s delay for the configuration and policy
propagation, therefore callers MUST NOT depend on the Check
method having
the latest policy information.
NOTE: the [CheckRequest][google.api.servicecontrol.v1.CheckRequest] has the size limit (wire-format byte size) of 1MB.
This method requires the servicemanagement.services.check
permission
on the specified service. For more information, see
Cloud IAM.
sourcepub async fn report(
&mut self,
request: impl IntoRequest<ReportRequest>,
) -> Result<Response<ReportResponse>, Status>
pub async fn report( &mut self, request: impl IntoRequest<ReportRequest>, ) -> Result<Response<ReportResponse>, Status>
Reports operation results to Google Service Control, such as logs and metrics. It should be called after an operation is completed.
If feasible, the client should aggregate reporting data for up to 5 seconds to reduce API traffic. Limiting aggregation to 5 seconds is to reduce data loss during client crashes. Clients should carefully choose the aggregation time window to avoid data loss risk more than 0.01% for business and compliance reasons.
NOTE: the [ReportRequest][google.api.servicecontrol.v1.ReportRequest] has the size limit (wire-format byte size) of 1MB.
This method requires the servicemanagement.services.report
permission
on the specified service. For more information, see
Google Cloud IAM.
Trait Implementations§
source§impl<T: Clone> Clone for ServiceControllerClient<T>
impl<T: Clone> Clone for ServiceControllerClient<T>
source§fn clone(&self) -> ServiceControllerClient<T>
fn clone(&self) -> ServiceControllerClient<T>
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moreAuto Trait Implementations§
impl<T> !Freeze for ServiceControllerClient<T>
impl<T> RefUnwindSafe for ServiceControllerClient<T>where
T: RefUnwindSafe,
impl<T> Send for ServiceControllerClient<T>where
T: Send,
impl<T> Sync for ServiceControllerClient<T>where
T: Sync,
impl<T> Unpin for ServiceControllerClient<T>where
T: Unpin,
impl<T> UnwindSafe for ServiceControllerClient<T>where
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
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§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