pub struct Service {
pub cache: Arc<Cache>,
}
Fields§
§cache: Arc<Cache>
Implementations§
Source§impl Service
impl Service
pub fn new(cache: Arc<Cache>) -> Self
pub fn stream( &self, req: Request<Streaming<DiscoveryRequest>>, type_url: &'static str, ) -> Result<Response<StreamResponse<DiscoveryResponse>>, Status>
pub async fn fetch( &self, req: &DiscoveryRequest, type_url: &'static str, ) -> Result<Response<DiscoveryResponse>, Status>
Trait Implementations§
Source§impl AggregatedDiscoveryService for Service
impl AggregatedDiscoveryService for Service
Source§type StreamAggregatedResourcesStream = Pin<Box<dyn Stream<Item = Result<DiscoveryResponse, Status>> + Send>>
type StreamAggregatedResourcesStream = Pin<Box<dyn Stream<Item = Result<DiscoveryResponse, Status>> + Send>>
Server streaming response type for the StreamAggregatedResources method.
Source§type DeltaAggregatedResourcesStream = Pin<Box<dyn Stream<Item = Result<DeltaDiscoveryResponse, Status>> + Send>>
type DeltaAggregatedResourcesStream = Pin<Box<dyn Stream<Item = Result<DeltaDiscoveryResponse, Status>> + Send>>
Server streaming response type for the DeltaAggregatedResources method.
Source§fn stream_aggregated_resources<'life0, 'async_trait>(
&'life0 self,
req: Request<Streaming<DiscoveryRequest>>,
) -> Pin<Box<dyn Future<Output = Result<Response<Self::StreamAggregatedResourcesStream>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn stream_aggregated_resources<'life0, 'async_trait>(
&'life0 self,
req: Request<Streaming<DiscoveryRequest>>,
) -> Pin<Box<dyn Future<Output = Result<Response<Self::StreamAggregatedResourcesStream>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
This is a gRPC-only API.
fn delta_aggregated_resources<'life0, 'async_trait>(
&'life0 self,
__arg1: Request<Streaming<DeltaDiscoveryRequest>>,
) -> Pin<Box<dyn Future<Output = Result<Response<Self::DeltaAggregatedResourcesStream>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Source§impl ClusterDiscoveryService for Service
impl ClusterDiscoveryService for Service
Source§type StreamClustersStream = Pin<Box<dyn Stream<Item = Result<DiscoveryResponse, Status>> + Send>>
type StreamClustersStream = Pin<Box<dyn Stream<Item = Result<DiscoveryResponse, Status>> + Send>>
Server streaming response type for the StreamClusters method.
Source§type DeltaClustersStream = Pin<Box<dyn Stream<Item = Result<DeltaDiscoveryResponse, Status>> + Send>>
type DeltaClustersStream = Pin<Box<dyn Stream<Item = Result<DeltaDiscoveryResponse, Status>> + Send>>
Server streaming response type for the DeltaClusters method.
fn stream_clusters<'life0, 'async_trait>(
&'life0 self,
req: Request<Streaming<DiscoveryRequest>>,
) -> Pin<Box<dyn Future<Output = Result<Response<Self::StreamClustersStream>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn delta_clusters<'life0, 'async_trait>(
&'life0 self,
__arg1: Request<Streaming<DeltaDiscoveryRequest>>,
) -> Pin<Box<dyn Future<Output = Result<Response<Self::DeltaClustersStream>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn fetch_clusters<'life0, 'async_trait>(
&'life0 self,
req: Request<DiscoveryRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<DiscoveryResponse>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Source§impl EndpointDiscoveryService for Service
impl EndpointDiscoveryService for Service
Source§type StreamEndpointsStream = Pin<Box<dyn Stream<Item = Result<DiscoveryResponse, Status>> + Send>>
type StreamEndpointsStream = Pin<Box<dyn Stream<Item = Result<DiscoveryResponse, Status>> + Send>>
Server streaming response type for the StreamEndpoints method.
Source§type DeltaEndpointsStream = Pin<Box<dyn Stream<Item = Result<DeltaDiscoveryResponse, Status>> + Send>>
type DeltaEndpointsStream = Pin<Box<dyn Stream<Item = Result<DeltaDiscoveryResponse, Status>> + Send>>
Server streaming response type for the DeltaEndpoints method.
Source§fn stream_endpoints<'life0, 'async_trait>(
&'life0 self,
req: Request<Streaming<DiscoveryRequest>>,
) -> Pin<Box<dyn Future<Output = Result<Response<Self::StreamEndpointsStream>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn stream_endpoints<'life0, 'async_trait>(
&'life0 self,
req: Request<Streaming<DiscoveryRequest>>,
) -> Pin<Box<dyn Future<Output = Result<Response<Self::StreamEndpointsStream>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
The resource_names field in DiscoveryRequest specifies a list of clusters
to subscribe to updates for.
fn delta_endpoints<'life0, 'async_trait>(
&'life0 self,
__arg1: Request<Streaming<DeltaDiscoveryRequest>>,
) -> Pin<Box<dyn Future<Output = Result<Response<Self::DeltaEndpointsStream>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn fetch_endpoints<'life0, 'async_trait>(
&'life0 self,
req: Request<DiscoveryRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<DiscoveryResponse>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Source§impl ExtensionConfigDiscoveryService for Service
impl ExtensionConfigDiscoveryService for Service
Source§type StreamExtensionConfigsStream = Pin<Box<dyn Stream<Item = Result<DiscoveryResponse, Status>> + Send>>
type StreamExtensionConfigsStream = Pin<Box<dyn Stream<Item = Result<DiscoveryResponse, Status>> + Send>>
Server streaming response type for the StreamExtensionConfigs method.
Source§type DeltaExtensionConfigsStream = Pin<Box<dyn Stream<Item = Result<DeltaDiscoveryResponse, Status>> + Send>>
type DeltaExtensionConfigsStream = Pin<Box<dyn Stream<Item = Result<DeltaDiscoveryResponse, Status>> + Send>>
Server streaming response type for the DeltaExtensionConfigs method.
fn stream_extension_configs<'life0, 'async_trait>(
&'life0 self,
req: Request<Streaming<DiscoveryRequest>>,
) -> Pin<Box<dyn Future<Output = Result<Response<Self::StreamExtensionConfigsStream>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn delta_extension_configs<'life0, 'async_trait>(
&'life0 self,
__arg1: Request<Streaming<DeltaDiscoveryRequest>>,
) -> Pin<Box<dyn Future<Output = Result<Response<Self::DeltaExtensionConfigsStream>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn fetch_extension_configs<'life0, 'async_trait>(
&'life0 self,
req: Request<DiscoveryRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<DiscoveryResponse>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Source§impl ListenerDiscoveryService for Service
impl ListenerDiscoveryService for Service
Source§type StreamListenersStream = Pin<Box<dyn Stream<Item = Result<DiscoveryResponse, Status>> + Send>>
type StreamListenersStream = Pin<Box<dyn Stream<Item = Result<DiscoveryResponse, Status>> + Send>>
Server streaming response type for the StreamListeners method.
Source§type DeltaListenersStream = Pin<Box<dyn Stream<Item = Result<DeltaDiscoveryResponse, Status>> + Send>>
type DeltaListenersStream = Pin<Box<dyn Stream<Item = Result<DeltaDiscoveryResponse, Status>> + Send>>
Server streaming response type for the DeltaListeners method.
fn stream_listeners<'life0, 'async_trait>(
&'life0 self,
req: Request<Streaming<DiscoveryRequest>>,
) -> Pin<Box<dyn Future<Output = Result<Response<Self::StreamListenersStream>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn delta_listeners<'life0, 'async_trait>(
&'life0 self,
__arg1: Request<Streaming<DeltaDiscoveryRequest>>,
) -> Pin<Box<dyn Future<Output = Result<Response<Self::DeltaListenersStream>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn fetch_listeners<'life0, 'async_trait>(
&'life0 self,
req: Request<DiscoveryRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<DiscoveryResponse>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Source§impl RouteDiscoveryService for Service
impl RouteDiscoveryService for Service
Source§type StreamRoutesStream = Pin<Box<dyn Stream<Item = Result<DiscoveryResponse, Status>> + Send>>
type StreamRoutesStream = Pin<Box<dyn Stream<Item = Result<DiscoveryResponse, Status>> + Send>>
Server streaming response type for the StreamRoutes method.
Source§type DeltaRoutesStream = Pin<Box<dyn Stream<Item = Result<DeltaDiscoveryResponse, Status>> + Send>>
type DeltaRoutesStream = Pin<Box<dyn Stream<Item = Result<DeltaDiscoveryResponse, Status>> + Send>>
Server streaming response type for the DeltaRoutes method.
fn stream_routes<'life0, 'async_trait>(
&'life0 self,
req: Request<Streaming<DiscoveryRequest>>,
) -> Pin<Box<dyn Future<Output = Result<Response<Self::StreamRoutesStream>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn delta_routes<'life0, 'async_trait>(
&'life0 self,
__arg1: Request<Streaming<DeltaDiscoveryRequest>>,
) -> Pin<Box<dyn Future<Output = Result<Response<Self::DeltaRoutesStream>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn fetch_routes<'life0, 'async_trait>(
&'life0 self,
req: Request<DiscoveryRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<DiscoveryResponse>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Source§impl RuntimeDiscoveryService for Service
impl RuntimeDiscoveryService for Service
Source§type StreamRuntimeStream = Pin<Box<dyn Stream<Item = Result<DiscoveryResponse, Status>> + Send>>
type StreamRuntimeStream = Pin<Box<dyn Stream<Item = Result<DiscoveryResponse, Status>> + Send>>
Server streaming response type for the StreamRuntime method.
Source§type DeltaRuntimeStream = Pin<Box<dyn Stream<Item = Result<DeltaDiscoveryResponse, Status>> + Send>>
type DeltaRuntimeStream = Pin<Box<dyn Stream<Item = Result<DeltaDiscoveryResponse, Status>> + Send>>
Server streaming response type for the DeltaRuntime method.
fn stream_runtime<'life0, 'async_trait>(
&'life0 self,
req: Request<Streaming<DiscoveryRequest>>,
) -> Pin<Box<dyn Future<Output = Result<Response<Self::StreamRuntimeStream>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn delta_runtime<'life0, 'async_trait>(
&'life0 self,
__arg1: Request<Streaming<DeltaDiscoveryRequest>>,
) -> Pin<Box<dyn Future<Output = Result<Response<Self::DeltaRuntimeStream>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn fetch_runtime<'life0, 'async_trait>(
&'life0 self,
req: Request<DiscoveryRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<DiscoveryResponse>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Source§impl ScopedRoutesDiscoveryService for Service
impl ScopedRoutesDiscoveryService for Service
Source§type StreamScopedRoutesStream = Pin<Box<dyn Stream<Item = Result<DiscoveryResponse, Status>> + Send>>
type StreamScopedRoutesStream = Pin<Box<dyn Stream<Item = Result<DiscoveryResponse, Status>> + Send>>
Server streaming response type for the StreamScopedRoutes method.
Source§type DeltaScopedRoutesStream = Pin<Box<dyn Stream<Item = Result<DeltaDiscoveryResponse, Status>> + Send>>
type DeltaScopedRoutesStream = Pin<Box<dyn Stream<Item = Result<DeltaDiscoveryResponse, Status>> + Send>>
Server streaming response type for the DeltaScopedRoutes method.
fn stream_scoped_routes<'life0, 'async_trait>(
&'life0 self,
req: Request<Streaming<DiscoveryRequest>>,
) -> Pin<Box<dyn Future<Output = Result<Response<Self::StreamScopedRoutesStream>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn delta_scoped_routes<'life0, 'async_trait>(
&'life0 self,
__arg1: Request<Streaming<DeltaDiscoveryRequest>>,
) -> Pin<Box<dyn Future<Output = Result<Response<Self::DeltaScopedRoutesStream>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn fetch_scoped_routes<'life0, 'async_trait>(
&'life0 self,
req: Request<DiscoveryRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<DiscoveryResponse>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Source§impl SecretDiscoveryService for Service
impl SecretDiscoveryService for Service
Source§type StreamSecretsStream = Pin<Box<dyn Stream<Item = Result<DiscoveryResponse, Status>> + Send>>
type StreamSecretsStream = Pin<Box<dyn Stream<Item = Result<DiscoveryResponse, Status>> + Send>>
Server streaming response type for the StreamSecrets method.
Source§type DeltaSecretsStream = Pin<Box<dyn Stream<Item = Result<DeltaDiscoveryResponse, Status>> + Send>>
type DeltaSecretsStream = Pin<Box<dyn Stream<Item = Result<DeltaDiscoveryResponse, Status>> + Send>>
Server streaming response type for the DeltaSecrets method.
fn stream_secrets<'life0, 'async_trait>(
&'life0 self,
req: Request<Streaming<DiscoveryRequest>>,
) -> Pin<Box<dyn Future<Output = Result<Response<Self::StreamSecretsStream>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn delta_secrets<'life0, 'async_trait>(
&'life0 self,
__arg1: Request<Streaming<DeltaDiscoveryRequest>>,
) -> Pin<Box<dyn Future<Output = Result<Response<Self::DeltaSecretsStream>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn fetch_secrets<'life0, 'async_trait>(
&'life0 self,
req: Request<DiscoveryRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<DiscoveryResponse>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Source§impl VirtualHostDiscoveryService for Service
impl VirtualHostDiscoveryService for Service
Source§type DeltaVirtualHostsStream = Pin<Box<dyn Stream<Item = Result<DeltaDiscoveryResponse, Status>> + Send>>
type DeltaVirtualHostsStream = Pin<Box<dyn Stream<Item = Result<DeltaDiscoveryResponse, Status>> + Send>>
Server streaming response type for the DeltaVirtualHosts method.
fn delta_virtual_hosts<'life0, 'async_trait>(
&'life0 self,
__arg1: Request<Streaming<DeltaDiscoveryRequest>>,
) -> Pin<Box<dyn Future<Output = Result<Response<Self::DeltaVirtualHostsStream>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Auto Trait Implementations§
impl Freeze for Service
impl !RefUnwindSafe for Service
impl Send for Service
impl Sync for Service
impl Unpin for Service
impl !UnwindSafe for Service
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
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