Skip to main content

HalService

Trait HalService 

Source
pub trait HalService:
    Send
    + Sync
    + 'static {
    type StreamStatusStream: Stream<Item = Result<HalSystemStatus, Status>> + Send + 'static;
    type WatchValuesStream: Stream<Item = Result<ValueChangeBatch, Status>> + Send + 'static;

    // Required methods
    fn get_system_status<'life0, 'async_trait>(
        &'life0 self,
        request: Request<GetSystemStatusRequest>,
    ) -> Pin<Box<dyn Future<Output = Result<Response<HalSystemStatus>, Status>> + Send + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait;
    fn send_command<'life0, 'async_trait>(
        &'life0 self,
        request: Request<HalCommand>,
    ) -> Pin<Box<dyn Future<Output = Result<Response<HalCommandResponse>, Status>> + Send + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait;
    fn get_value<'life0, 'async_trait>(
        &'life0 self,
        request: Request<GetValueCommand>,
    ) -> Pin<Box<dyn Future<Output = Result<Response<GetValueResponse>, Status>> + Send + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait;
    fn query_pins<'life0, 'async_trait>(
        &'life0 self,
        request: Request<QueryPinsCommand>,
    ) -> Pin<Box<dyn Future<Output = Result<Response<QueryPinsResponse>, Status>> + Send + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait;
    fn query_signals<'life0, 'async_trait>(
        &'life0 self,
        request: Request<QuerySignalsCommand>,
    ) -> Pin<Box<dyn Future<Output = Result<Response<QuerySignalsResponse>, Status>> + Send + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait;
    fn query_params<'life0, 'async_trait>(
        &'life0 self,
        request: Request<QueryParamsCommand>,
    ) -> Pin<Box<dyn Future<Output = Result<Response<QueryParamsResponse>, Status>> + Send + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait;
    fn query_components<'life0, 'async_trait>(
        &'life0 self,
        request: Request<QueryComponentsCommand>,
    ) -> Pin<Box<dyn Future<Output = Result<Response<QueryComponentsResponse>, Status>> + Send + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait;
    fn stream_status<'life0, 'async_trait>(
        &'life0 self,
        request: Request<HalStreamStatusRequest>,
    ) -> Pin<Box<dyn Future<Output = Result<Response<Self::StreamStatusStream>, Status>> + Send + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait;
    fn watch_values<'life0, 'async_trait>(
        &'life0 self,
        request: Request<WatchRequest>,
    ) -> Pin<Box<dyn Future<Output = Result<Response<Self::WatchValuesStream>, Status>> + Send + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait;
}
Expand description

Generated trait containing gRPC methods that should be implemented for use with HalServiceServer.

Required Associated Types§

Source

type StreamStatusStream: Stream<Item = Result<HalSystemStatus, Status>> + Send + 'static

Server streaming response type for the StreamStatus method.

Source

type WatchValuesStream: Stream<Item = Result<ValueChangeBatch, Status>> + Send + 'static

Server streaming response type for the WatchValues method.

Required Methods§

Source

fn get_system_status<'life0, 'async_trait>( &'life0 self, request: Request<GetSystemStatusRequest>, ) -> Pin<Box<dyn Future<Output = Result<Response<HalSystemStatus>, Status>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Get complete HAL system status

Source

fn send_command<'life0, 'async_trait>( &'life0 self, request: Request<HalCommand>, ) -> Pin<Box<dyn Future<Output = Result<Response<HalCommandResponse>, Status>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Send a command

Source

fn get_value<'life0, 'async_trait>( &'life0 self, request: Request<GetValueCommand>, ) -> Pin<Box<dyn Future<Output = Result<Response<GetValueResponse>, Status>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Get a single value

Source

fn query_pins<'life0, 'async_trait>( &'life0 self, request: Request<QueryPinsCommand>, ) -> Pin<Box<dyn Future<Output = Result<Response<QueryPinsResponse>, Status>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Query pins

Source

fn query_signals<'life0, 'async_trait>( &'life0 self, request: Request<QuerySignalsCommand>, ) -> Pin<Box<dyn Future<Output = Result<Response<QuerySignalsResponse>, Status>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Query signals

Source

fn query_params<'life0, 'async_trait>( &'life0 self, request: Request<QueryParamsCommand>, ) -> Pin<Box<dyn Future<Output = Result<Response<QueryParamsResponse>, Status>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Query parameters

Source

fn query_components<'life0, 'async_trait>( &'life0 self, request: Request<QueryComponentsCommand>, ) -> Pin<Box<dyn Future<Output = Result<Response<QueryComponentsResponse>, Status>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Query components

Source

fn stream_status<'life0, 'async_trait>( &'life0 self, request: Request<HalStreamStatusRequest>, ) -> Pin<Box<dyn Future<Output = Result<Response<Self::StreamStatusStream>, Status>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Stream system status updates

Source

fn watch_values<'life0, 'async_trait>( &'life0 self, request: Request<WatchRequest>, ) -> Pin<Box<dyn Future<Output = Result<Response<Self::WatchValuesStream>, Status>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Watch for value changes

Implementors§