Struct ControlApiClient

Source
pub struct ControlApiClient<T> { /* private fields */ }
Expand description

Service allowing to control a media server dynamically, by creating, updating and destroying pipelines of media Elements on it.

Implementations§

Source§

impl ControlApiClient<Channel>

Source

pub async fn connect<D>(dst: D) -> Result<Self, Error>
where D: TryInto<Endpoint>, D::Error: Into<StdError>,

Attempt to create a new client by connecting to a given endpoint.

Source§

impl<T> ControlApiClient<T>
where T: GrpcService<Body>, T::Error: Into<StdError>, T::ResponseBody: Body<Data = Bytes> + Send + 'static, <T::ResponseBody as Body>::Error: Into<StdError> + Send,

Source

pub fn new(inner: T) -> Self

Source

pub fn with_origin(inner: T, origin: Uri) -> Self

Source

pub fn with_interceptor<F>( inner: T, interceptor: F, ) -> ControlApiClient<InterceptedService<T, F>>
where F: Interceptor, T::ResponseBody: Default, T: Service<Request<Body>, Response = Response<<T as GrpcService<Body>>::ResponseBody>>, <T as Service<Request<Body>>>::Error: Into<StdError> + Send + Sync,

Source

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.

Source

pub fn accept_compressed(self, encoding: CompressionEncoding) -> Self

Enable decompressing responses.

Source

pub fn max_decoding_message_size(self, limit: usize) -> Self

Limits the maximum size of a decoded message.

Default: 4MB

Source

pub fn max_encoding_message_size(self, limit: usize) -> Self

Limits the maximum size of an encoded message.

Default: usize::MAX

Source

pub async fn create( &mut self, request: impl IntoRequest<CreateRequest>, ) -> Result<Response<CreateResponse>, Status>

Creates a new Element on the media server.

Non-idempotent. Errors if an Element with such ID already exists.

Source

pub async fn delete( &mut self, request: impl IntoRequest<IdRequest>, ) -> Result<Response<Response>, Status>

Removes Elements from the media server. Allows referring multiple Elements on the last two levels of a FID.

Idempotent. If no Elements with such FIDs exist, then succeeds.

Source

pub async fn get( &mut self, request: impl IntoRequest<IdRequest>, ) -> Result<Response<GetResponse>, Status>

Lookups Elements by their FIDs on the media server. If no FIDs are specified, then returns all the current Elements on the media server.

Source

pub async fn apply( &mut self, request: impl IntoRequest<ApplyRequest>, ) -> Result<Response<CreateResponse>, Status>

Applies changes to an existing Element on the media server, or creates a new one in case there is no Element with such ID.

Idempotent. If no Element with such ID exists, then it will be created, otherwise it will be reconfigured. Elements that exist on the same hierarchy level, but are not specified in the provided spec, will be removed.

Source

pub async fn healthz( &mut self, request: impl IntoRequest<Ping>, ) -> Result<Response<Pong>, Status>

Checks healthiness of the media server. Caller should assert that the returned Pong has the same nonce as the sent Ping.

Trait Implementations§

Source§

impl<T> Api for ControlApiClient<T>
where T: GrpcService<Body, Future: Send, ResponseBody: Body<Data = Bytes, Error: Into<Box<dyn Error + Send + Sync + 'static>> + Send> + Send + 'static> + Clone + Send + Sync,

Source§

type Error = ControlApiClientError

Error returned by this ControlApi.
Source§

fn create<'life0, 'async_trait>( &'life0 self, request: ControlRequest, ) -> Pin<Box<dyn Future<Output = Result<Sids, Self::Error>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Creates a new Element on the media server. Read more
Source§

fn apply<'life0, 'async_trait>( &'life0 self, request: ControlRequest, ) -> Pin<Box<dyn Future<Output = Result<Sids, Self::Error>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Applies changes to an existing Element on the media server, or creates a new one in case there is no Element with such ID. Read more
Source§

fn delete<'life0, 'life1, 'async_trait>( &'life0 self, fids: &'life1 [Fid], ) -> Pin<Box<dyn Future<Output = Result<(), Self::Error>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,

Removes Elements from the media server. Read more
Source§

fn get<'life0, 'life1, 'async_trait>( &'life0 self, fids: &'life1 [Fid], ) -> Pin<Box<dyn Future<Output = Result<Elements, Self::Error>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,

Lookups Elements by their Fids on the media server. Read more
Source§

fn healthz<'life0, 'async_trait>( &'life0 self, ping: Ping, ) -> Pin<Box<dyn Future<Output = Result<Pong, Self::Error>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Checks healthiness of the media server. Read more
Source§

impl<T: Clone> Clone for ControlApiClient<T>

Source§

fn clone(&self) -> ControlApiClient<T>

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl<T: Debug> Debug for ControlApiClient<T>

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more

Auto Trait Implementations§

§

impl<T> !Freeze for ControlApiClient<T>

§

impl<T> RefUnwindSafe for ControlApiClient<T>
where T: RefUnwindSafe,

§

impl<T> Send for ControlApiClient<T>
where T: Send,

§

impl<T> Sync for ControlApiClient<T>
where T: Sync,

§

impl<T> Unpin for ControlApiClient<T>
where T: Unpin,

§

impl<T> UnwindSafe for ControlApiClient<T>
where T: UnwindSafe,

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> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> FromRef<T> for T
where T: Clone,

Source§

fn from_ref(input: &T) -> T

Converts to this type from a reference to the input type.
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> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
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<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V

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,