Struct quilkin_xds::discovery::aggregated_discovery_service_client::AggregatedDiscoveryServiceClient
pub struct AggregatedDiscoveryServiceClient<T> { /* private fields */ }
Expand description
See https://github.com/envoyproxy/envoy-api#apis for a description of the role of ADS and how it is intended to be used by a management server. ADS requests have the same structure as their singleton xDS counterparts, but can multiplex many resource types on a single stream. The type_url in the DiscoveryRequest/DiscoveryResponse provides sufficient information to recover the multiplexed singleton APIs at the Envoy instance and management server.
Implementations§
§impl<T> AggregatedDiscoveryServiceClient<T>where
T: GrpcService<UnsyncBoxBody<Bytes, Status>>,
<T as GrpcService<UnsyncBoxBody<Bytes, Status>>>::Error: Into<Box<dyn Error + Send + Sync>>,
<T as GrpcService<UnsyncBoxBody<Bytes, Status>>>::ResponseBody: Body<Data = Bytes> + Send + 'static,
<<T as GrpcService<UnsyncBoxBody<Bytes, Status>>>::ResponseBody as Body>::Error: Into<Box<dyn Error + Send + Sync>> + Send,
impl<T> AggregatedDiscoveryServiceClient<T>where
T: GrpcService<UnsyncBoxBody<Bytes, Status>>,
<T as GrpcService<UnsyncBoxBody<Bytes, Status>>>::Error: Into<Box<dyn Error + Send + Sync>>,
<T as GrpcService<UnsyncBoxBody<Bytes, Status>>>::ResponseBody: Body<Data = Bytes> + Send + 'static,
<<T as GrpcService<UnsyncBoxBody<Bytes, Status>>>::ResponseBody as Body>::Error: Into<Box<dyn Error + Send + Sync>> + Send,
pub fn new(inner: T) -> AggregatedDiscoveryServiceClient<T>
pub fn with_origin(inner: T, origin: Uri) -> AggregatedDiscoveryServiceClient<T>
pub fn with_interceptor<F>(
inner: T,
interceptor: F
) -> AggregatedDiscoveryServiceClient<InterceptedService<T, F>>where
F: Interceptor,
<T as GrpcService<UnsyncBoxBody<Bytes, Status>>>::ResponseBody: Default,
T: Service<Request<UnsyncBoxBody<Bytes, Status>>, Response = Response<<T as GrpcService<UnsyncBoxBody<Bytes, Status>>>::ResponseBody>>,
<T as Service<Request<UnsyncBoxBody<Bytes, Status>>>>::Error: Into<Box<dyn Error + Send + Sync>> + Send + Sync,
pub fn send_compressed(
self,
encoding: CompressionEncoding
) -> AggregatedDiscoveryServiceClient<T>
pub fn send_compressed( self, encoding: CompressionEncoding ) -> AggregatedDiscoveryServiceClient<T>
Compress requests with the given encoding.
This requires the server to support it otherwise it might respond with an error.
pub fn accept_compressed(
self,
encoding: CompressionEncoding
) -> AggregatedDiscoveryServiceClient<T>
pub fn accept_compressed( self, encoding: CompressionEncoding ) -> AggregatedDiscoveryServiceClient<T>
Enable decompressing responses.
pub fn max_decoding_message_size(
self,
limit: usize
) -> AggregatedDiscoveryServiceClient<T>
pub fn max_decoding_message_size( self, limit: usize ) -> AggregatedDiscoveryServiceClient<T>
Limits the maximum size of a decoded message.
Default: 4MB
pub fn max_encoding_message_size(
self,
limit: usize
) -> AggregatedDiscoveryServiceClient<T>
pub fn max_encoding_message_size( self, limit: usize ) -> AggregatedDiscoveryServiceClient<T>
Limits the maximum size of an encoded message.
Default: usize::MAX
pub async fn stream_aggregated_resources(
&mut self,
request: impl IntoStreamingRequest<Message = DiscoveryRequest>
) -> Result<Response<Streaming<DiscoveryResponse>>, Status>
pub async fn stream_aggregated_resources( &mut self, request: impl IntoStreamingRequest<Message = DiscoveryRequest> ) -> Result<Response<Streaming<DiscoveryResponse>>, Status>
This is a gRPC-only API.
pub async fn delta_aggregated_resources( &mut self, request: impl IntoStreamingRequest<Message = DeltaDiscoveryRequest> ) -> Result<Response<Streaming<DeltaDiscoveryResponse>>, Status>
Trait Implementations§
§impl<T> Clone for AggregatedDiscoveryServiceClient<T>where
T: Clone,
impl<T> Clone for AggregatedDiscoveryServiceClient<T>where
T: Clone,
§fn clone(&self) -> AggregatedDiscoveryServiceClient<T>
fn clone(&self) -> AggregatedDiscoveryServiceClient<T>
Returns a copy of the value. Read more
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read more§impl<T> Debug for AggregatedDiscoveryServiceClient<T>where
T: Debug,
impl<T> Debug for AggregatedDiscoveryServiceClient<T>where
T: Debug,
source§impl ServiceClient for AggregatedDiscoveryServiceClient<Channel>
impl ServiceClient for AggregatedDiscoveryServiceClient<Channel>
type Request = DiscoveryRequest
type Response = DiscoveryResponse
fn connect_to_endpoint<'async_trait>(
endpoint: Endpoint
) -> Pin<Box<dyn Future<Output = Result<Self, Error>> + Send + 'async_trait>>where
Self: 'async_trait,
fn stream_requests<'life0, 'async_trait, S>(
&'life0 mut self,
stream: S
) -> Pin<Box<dyn Future<Output = Result<Response<Streaming<Self::Response>>>> + Send + 'async_trait>>where
S: 'async_trait + IntoStreamingRequest<Message = Self::Request> + Send,
Self: 'async_trait,
'life0: 'async_trait,
Auto Trait Implementations§
impl<T> RefUnwindSafe for AggregatedDiscoveryServiceClient<T>where
T: RefUnwindSafe,
impl<T> Send for AggregatedDiscoveryServiceClient<T>where
T: Send,
impl<T> Sync for AggregatedDiscoveryServiceClient<T>where
T: Sync,
impl<T> Unpin for AggregatedDiscoveryServiceClient<T>where
T: Unpin,
impl<T> UnwindSafe for AggregatedDiscoveryServiceClient<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
Mutably borrows from an owned value. Read more
§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> 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>
Wrap the input message
T
in a tonic::Request