Struct quilkin_xds::server::ControlPlane
source · pub struct ControlPlane<C> {
pub config: Arc<C>,
pub idle_request_interval: Duration,
pub is_relay: bool,
/* private fields */
}
Fields§
§config: Arc<C>
§idle_request_interval: Duration
§is_relay: bool
Implementations§
source§impl<C: Configuration> ControlPlane<C>
impl<C: Configuration> ControlPlane<C>
pub fn from_arc(config: Arc<C>, idle_request_interval: Duration) -> Self
pub fn management_server( self, listener: TcpListener ) -> Result<impl Future<Output = Result<()>>>
pub fn relay_server( self, listener: TcpListener ) -> Result<impl Future<Output = Result<()>>>
pub fn push_update(&self, resource_type: &'static str)
pub async fn delta_aggregated_resources<S>( &self, streaming: S ) -> Result<impl Stream<Item = Result<DeltaDiscoveryResponse, Status>> + Send, Status>
Trait Implementations§
source§impl<C: Configuration> AggregatedControlPlaneDiscoveryService for ControlPlane<C>
impl<C: Configuration> AggregatedControlPlaneDiscoveryService for ControlPlane<C>
§type StreamAggregatedResourcesStream = Pin<Box<dyn Stream<Item = Result<DiscoveryRequest, Status>> + Send>>
type StreamAggregatedResourcesStream = Pin<Box<dyn Stream<Item = Result<DiscoveryRequest, Status>> + Send>>
Server streaming response type for the StreamAggregatedResources method.
§type DeltaAggregatedResourcesStream = Pin<Box<dyn Stream<Item = Result<DeltaDiscoveryRequest, Status>> + Send>>
type DeltaAggregatedResourcesStream = Pin<Box<dyn Stream<Item = Result<DeltaDiscoveryRequest, Status>> + Send>>
Server streaming response type for the DeltaAggregatedResources method.
source§fn stream_aggregated_resources<'life0, 'async_trait>(
&'life0 self,
_responses: Request<Streaming<DiscoveryResponse>>
) -> 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,
_responses: Request<Streaming<DiscoveryResponse>>
) -> Pin<Box<dyn Future<Output = Result<Response<Self::StreamAggregatedResourcesStream>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
This RPC is not supported but remains here as part of the xDS standard,
as Quilkin only uses a delta configuration transport for performance reasons.
source§fn delta_aggregated_resources<'life0, 'async_trait>(
&'life0 self,
responses: Request<Streaming<DeltaDiscoveryResponse>>
) -> Pin<Box<dyn Future<Output = Result<Response<Self::DeltaAggregatedResourcesStream>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn delta_aggregated_resources<'life0, 'async_trait>(
&'life0 self,
responses: Request<Streaming<DeltaDiscoveryResponse>>
) -> Pin<Box<dyn Future<Output = Result<Response<Self::DeltaAggregatedResourcesStream>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Delta (Incremental) xDS implementation
source§impl<C: Configuration> AggregatedDiscoveryService for ControlPlane<C>
impl<C: Configuration> AggregatedDiscoveryService for ControlPlane<C>
§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.
§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,
_request: 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,
_request: 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,
request: Request<Streaming<DeltaDiscoveryRequest>>
) -> Pin<Box<dyn Future<Output = Result<Response<Self::DeltaAggregatedResourcesStream>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Auto Trait Implementations§
impl<C> !RefUnwindSafe for ControlPlane<C>
impl<C> Send for ControlPlane<C>
impl<C> Sync for ControlPlane<C>
impl<C> Unpin for ControlPlane<C>
impl<C> !UnwindSafe for ControlPlane<C>
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