[][src]Trait chirpstack_api::as_pb::external::api::device_service_server::DeviceService

pub trait DeviceService: Send + Sync + 'static {
    type StreamFrameLogsStream: Stream<Item = Result<StreamDeviceFrameLogsResponse, Status>> + Send + Sync + 'static;
    type StreamEventLogsStream: Stream<Item = Result<StreamDeviceEventLogsResponse, Status>> + Send + Sync + 'static;
#[must_use]    fn create<'life0, 'async_trait>(
        &'life0 self,
        request: Request<CreateDeviceRequest>
    ) -> Pin<Box<dyn Future<Output = Result<Response<()>, Status>> + Send + 'async_trait>>
    where
        'life0: 'async_trait,
        Self: 'async_trait
;
#[must_use] fn get<'life0, 'async_trait>(
        &'life0 self,
        request: Request<GetDeviceRequest>
    ) -> Pin<Box<dyn Future<Output = Result<Response<GetDeviceResponse>, Status>> + Send + 'async_trait>>
    where
        'life0: 'async_trait,
        Self: 'async_trait
;
#[must_use] fn list<'life0, 'async_trait>(
        &'life0 self,
        request: Request<ListDeviceRequest>
    ) -> Pin<Box<dyn Future<Output = Result<Response<ListDeviceResponse>, Status>> + Send + 'async_trait>>
    where
        'life0: 'async_trait,
        Self: 'async_trait
;
#[must_use] fn delete<'life0, 'async_trait>(
        &'life0 self,
        request: Request<DeleteDeviceRequest>
    ) -> Pin<Box<dyn Future<Output = Result<Response<()>, Status>> + Send + 'async_trait>>
    where
        'life0: 'async_trait,
        Self: 'async_trait
;
#[must_use] fn update<'life0, 'async_trait>(
        &'life0 self,
        request: Request<UpdateDeviceRequest>
    ) -> Pin<Box<dyn Future<Output = Result<Response<()>, Status>> + Send + 'async_trait>>
    where
        'life0: 'async_trait,
        Self: 'async_trait
;
#[must_use] fn create_keys<'life0, 'async_trait>(
        &'life0 self,
        request: Request<CreateDeviceKeysRequest>
    ) -> Pin<Box<dyn Future<Output = Result<Response<()>, Status>> + Send + 'async_trait>>
    where
        'life0: 'async_trait,
        Self: 'async_trait
;
#[must_use] fn get_keys<'life0, 'async_trait>(
        &'life0 self,
        request: Request<GetDeviceKeysRequest>
    ) -> Pin<Box<dyn Future<Output = Result<Response<GetDeviceKeysResponse>, Status>> + Send + 'async_trait>>
    where
        'life0: 'async_trait,
        Self: 'async_trait
;
#[must_use] fn update_keys<'life0, 'async_trait>(
        &'life0 self,
        request: Request<UpdateDeviceKeysRequest>
    ) -> Pin<Box<dyn Future<Output = Result<Response<()>, Status>> + Send + 'async_trait>>
    where
        'life0: 'async_trait,
        Self: 'async_trait
;
#[must_use] fn delete_keys<'life0, 'async_trait>(
        &'life0 self,
        request: Request<DeleteDeviceKeysRequest>
    ) -> Pin<Box<dyn Future<Output = Result<Response<()>, Status>> + Send + 'async_trait>>
    where
        'life0: 'async_trait,
        Self: 'async_trait
;
#[must_use] fn activate<'life0, 'async_trait>(
        &'life0 self,
        request: Request<ActivateDeviceRequest>
    ) -> Pin<Box<dyn Future<Output = Result<Response<()>, Status>> + Send + 'async_trait>>
    where
        'life0: 'async_trait,
        Self: 'async_trait
;
#[must_use] fn deactivate<'life0, 'async_trait>(
        &'life0 self,
        request: Request<DeactivateDeviceRequest>
    ) -> Pin<Box<dyn Future<Output = Result<Response<()>, Status>> + Send + 'async_trait>>
    where
        'life0: 'async_trait,
        Self: 'async_trait
;
#[must_use] fn get_activation<'life0, 'async_trait>(
        &'life0 self,
        request: Request<GetDeviceActivationRequest>
    ) -> Pin<Box<dyn Future<Output = Result<Response<GetDeviceActivationResponse>, Status>> + Send + 'async_trait>>
    where
        'life0: 'async_trait,
        Self: 'async_trait
;
#[must_use] fn get_random_dev_addr<'life0, 'async_trait>(
        &'life0 self,
        request: Request<GetRandomDevAddrRequest>
    ) -> Pin<Box<dyn Future<Output = Result<Response<GetRandomDevAddrResponse>, Status>> + Send + 'async_trait>>
    where
        'life0: 'async_trait,
        Self: 'async_trait
;
#[must_use] fn stream_frame_logs<'life0, 'async_trait>(
        &'life0 self,
        request: Request<StreamDeviceFrameLogsRequest>
    ) -> Pin<Box<dyn Future<Output = Result<Response<Self::StreamFrameLogsStream>, Status>> + Send + 'async_trait>>
    where
        'life0: 'async_trait,
        Self: 'async_trait
;
#[must_use] fn stream_event_logs<'life0, 'async_trait>(
        &'life0 self,
        request: Request<StreamDeviceEventLogsRequest>
    ) -> Pin<Box<dyn Future<Output = Result<Response<Self::StreamEventLogsStream>, Status>> + Send + 'async_trait>>
    where
        'life0: 'async_trait,
        Self: 'async_trait
; }

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

Associated Types

type StreamFrameLogsStream: Stream<Item = Result<StreamDeviceFrameLogsResponse, Status>> + Send + Sync + 'static

Server streaming response type for the StreamFrameLogs method.

type StreamEventLogsStream: Stream<Item = Result<StreamDeviceEventLogsResponse, Status>> + Send + Sync + 'static

Server streaming response type for the StreamEventLogs method.

Loading content...

Required methods

#[must_use]fn create<'life0, 'async_trait>(
    &'life0 self,
    request: Request<CreateDeviceRequest>
) -> Pin<Box<dyn Future<Output = Result<Response<()>, Status>> + Send + 'async_trait>> where
    'life0: 'async_trait,
    Self: 'async_trait, 

Create creates the given device.

#[must_use]fn get<'life0, 'async_trait>(
    &'life0 self,
    request: Request<GetDeviceRequest>
) -> Pin<Box<dyn Future<Output = Result<Response<GetDeviceResponse>, Status>> + Send + 'async_trait>> where
    'life0: 'async_trait,
    Self: 'async_trait, 

Get returns the device matching the given DevEUI.

#[must_use]fn list<'life0, 'async_trait>(
    &'life0 self,
    request: Request<ListDeviceRequest>
) -> Pin<Box<dyn Future<Output = Result<Response<ListDeviceResponse>, Status>> + Send + 'async_trait>> where
    'life0: 'async_trait,
    Self: 'async_trait, 

List returns the available devices.

#[must_use]fn delete<'life0, 'async_trait>(
    &'life0 self,
    request: Request<DeleteDeviceRequest>
) -> Pin<Box<dyn Future<Output = Result<Response<()>, Status>> + Send + 'async_trait>> where
    'life0: 'async_trait,
    Self: 'async_trait, 

Delete deletes the device matching the given DevEUI.

#[must_use]fn update<'life0, 'async_trait>(
    &'life0 self,
    request: Request<UpdateDeviceRequest>
) -> Pin<Box<dyn Future<Output = Result<Response<()>, Status>> + Send + 'async_trait>> where
    'life0: 'async_trait,
    Self: 'async_trait, 

Update updates the device matching the given DevEUI.

#[must_use]fn create_keys<'life0, 'async_trait>(
    &'life0 self,
    request: Request<CreateDeviceKeysRequest>
) -> Pin<Box<dyn Future<Output = Result<Response<()>, Status>> + Send + 'async_trait>> where
    'life0: 'async_trait,
    Self: 'async_trait, 

CreateKeys creates the given device-keys.

#[must_use]fn get_keys<'life0, 'async_trait>(
    &'life0 self,
    request: Request<GetDeviceKeysRequest>
) -> Pin<Box<dyn Future<Output = Result<Response<GetDeviceKeysResponse>, Status>> + Send + 'async_trait>> where
    'life0: 'async_trait,
    Self: 'async_trait, 

GetKeys returns the device-keys for the given DevEUI.

#[must_use]fn update_keys<'life0, 'async_trait>(
    &'life0 self,
    request: Request<UpdateDeviceKeysRequest>
) -> Pin<Box<dyn Future<Output = Result<Response<()>, Status>> + Send + 'async_trait>> where
    'life0: 'async_trait,
    Self: 'async_trait, 

UpdateKeys updates the device-keys.

#[must_use]fn delete_keys<'life0, 'async_trait>(
    &'life0 self,
    request: Request<DeleteDeviceKeysRequest>
) -> Pin<Box<dyn Future<Output = Result<Response<()>, Status>> + Send + 'async_trait>> where
    'life0: 'async_trait,
    Self: 'async_trait, 

DeleteKeys deletes the device-keys for the given DevEUI.

#[must_use]fn activate<'life0, 'async_trait>(
    &'life0 self,
    request: Request<ActivateDeviceRequest>
) -> Pin<Box<dyn Future<Output = Result<Response<()>, Status>> + Send + 'async_trait>> where
    'life0: 'async_trait,
    Self: 'async_trait, 

Activate (re)activates the device with the given parameters (for ABP or for importing OTAA activations).

#[must_use]fn deactivate<'life0, 'async_trait>(
    &'life0 self,
    request: Request<DeactivateDeviceRequest>
) -> Pin<Box<dyn Future<Output = Result<Response<()>, Status>> + Send + 'async_trait>> where
    'life0: 'async_trait,
    Self: 'async_trait, 

Deactivate de-activates the device.

#[must_use]fn get_activation<'life0, 'async_trait>(
    &'life0 self,
    request: Request<GetDeviceActivationRequest>
) -> Pin<Box<dyn Future<Output = Result<Response<GetDeviceActivationResponse>, Status>> + Send + 'async_trait>> where
    'life0: 'async_trait,
    Self: 'async_trait, 

GetActivation returns the current activation details of the device (OTAA and ABP).

#[must_use]fn get_random_dev_addr<'life0, 'async_trait>(
    &'life0 self,
    request: Request<GetRandomDevAddrRequest>
) -> Pin<Box<dyn Future<Output = Result<Response<GetRandomDevAddrResponse>, Status>> + Send + 'async_trait>> where
    'life0: 'async_trait,
    Self: 'async_trait, 

GetRandomDevAddr returns a random DevAddr taking the NwkID prefix into account.

#[must_use]fn stream_frame_logs<'life0, 'async_trait>(
    &'life0 self,
    request: Request<StreamDeviceFrameLogsRequest>
) -> Pin<Box<dyn Future<Output = Result<Response<Self::StreamFrameLogsStream>, Status>> + Send + 'async_trait>> where
    'life0: 'async_trait,
    Self: 'async_trait, 

StreamFrameLogs streams the uplink and downlink frame-logs for the given DevEUI.

  • These are the raw LoRaWAN frames and this endpoint is intended for debugging only.
  • This endpoint does not work from a web-browser.

#[must_use]fn stream_event_logs<'life0, 'async_trait>(
    &'life0 self,
    request: Request<StreamDeviceEventLogsRequest>
) -> Pin<Box<dyn Future<Output = Result<Response<Self::StreamEventLogsStream>, Status>> + Send + 'async_trait>> where
    'life0: 'async_trait,
    Self: 'async_trait, 

StreamEventLogs stream the device events (uplink payloads, ACKs, joins, errors).

  • This endpoint is intended for debugging only.
  • This endpoint does not work from a web-browser.
Loading content...

Implementors

Loading content...