Struct PluginServer

Source
pub struct PluginServer<P> { /* private fields */ }
Expand description

Runs the Hipcheck plugin protocol based on the user’s implementation of the Plugin trait.

This struct implements the underlying gRPC protocol that is not exposed to the plugin author.

Implementations§

Source§

impl<P: Plugin> PluginServer<P>

Source

pub fn register( plugin: P, log_level_opt: impl Into<Option<LogLevel>>, ) -> PluginServer<P>

Create a new plugin server for the provided plugin.

Source

pub async fn listen_local(self, port: u16) -> Result<()>

Run the plugin server on the loopback address and provided port.

Source

pub async fn listen(self, host: Host, port: u16) -> Result<()>

Run the plugin server on the provided port.

Trait Implementations§

Source§

impl<P: Plugin> PluginService for PluginServer<P>

Source§

type GetQuerySchemasStream = ReceiverStream<Result<GetQuerySchemasResponse, Status>>

Server streaming response type for the GetQuerySchemas method.
Source§

type InitiateQueryProtocolStream = ReceiverStream<Result<InitiateQueryProtocolResponse, Status>>

Server streaming response type for the InitiateQueryProtocol method.
Source§

fn set_configuration<'life0, 'async_trait>( &'life0 self, req: Req<SetConfigurationReq>, ) -> Pin<Box<dyn Future<Output = QueryResult<Resp<SetConfigurationResp>>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Source§

fn get_default_policy_expression<'life0, 'async_trait>( &'life0 self, _req: Req<GetDefaultPolicyExpressionReq>, ) -> Pin<Box<dyn Future<Output = QueryResult<Resp<GetDefaultPolicyExpressionResp>>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Source§

fn explain_default_query<'life0, 'async_trait>( &'life0 self, _req: Req<ExplainDefaultQueryReq>, ) -> Pin<Box<dyn Future<Output = QueryResult<Resp<ExplainDefaultQueryResp>>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Source§

fn get_query_schemas<'life0, 'async_trait>( &'life0 self, _req: Req<GetQuerySchemasReq>, ) -> Pin<Box<dyn Future<Output = QueryResult<Resp<Self::GetQuerySchemasStream>>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Source§

fn initiate_query_protocol<'life0, 'async_trait>( &'life0 self, req: Req<Streaming<InitiateQueryProtocolReq>>, ) -> Pin<Box<dyn Future<Output = QueryResult<Resp<Self::InitiateQueryProtocolStream>>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Auto Trait Implementations§

§

impl<P> Freeze for PluginServer<P>

§

impl<P> RefUnwindSafe for PluginServer<P>
where P: RefUnwindSafe,

§

impl<P> Send for PluginServer<P>
where P: Sync + Send,

§

impl<P> Sync for PluginServer<P>
where P: Sync + Send,

§

impl<P> Unpin for PluginServer<P>

§

impl<P> UnwindSafe for PluginServer<P>
where P: RefUnwindSafe,

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> IntoRequest<T> for T

Source§

fn into_request(self) -> Request<T>

Wrap the input message T in a tonic::Request
Source§

impl<L> LayerExt<L> for L

Source§

fn named_layer<S>(&self, service: S) -> Layered<<L as Layer<S>>::Service, S>
where L: Layer<S>,

Applies the layer to a service and wraps it in Layered.
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

impl<T> ErasedDestructor for T
where T: 'static,