Struct google_api_proto::google::api::servicecontrol::v2::service_controller_client::ServiceControllerClient
source · pub struct ServiceControllerClient<T> { /* private fields */ }
Expand description
Private Preview. This feature is only available for approved services.
This API provides admission control and telemetry reporting for services that are integrated with Service Infrastructure.
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>
Private Preview. This feature is only available for approved services.
This method provides admission control for services that are integrated with Service Infrastructure. It checks whether an operation should be allowed based on the service configuration and relevant policies. It must be called before the operation is executed. For more information, see Admission Control.
NOTE: The admission control has an expected policy propagation delay of 60s. The caller must not depend on the most recent policy changes.
NOTE: The admission control has a hard limit of 1 referenced resources per call. If an operation refers to more than 1 resources, the caller must call the Check method multiple times.
This method requires the servicemanagement.services.check
permission
on the specified service. For more information, see
Service Control API Access
Control.
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>
Private Preview. This feature is only available for approved services.
This method provides telemetry reporting for services that are integrated with Service Infrastructure. It reports a list of operations that have occurred on a service. It must be called after the operations have been executed. For more information, see Telemetry Reporting.
NOTE: The telemetry reporting has a hard limit of 1000 operations and 1MB per Report call. It is recommended to have no more than 100 operations per call.
This method requires the servicemanagement.services.report
permission
on the specified service. For more information, see
Service Control API Access
Control.
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