Trait chirpstack_api::api::device_service_server::DeviceService
source · [−]pub trait DeviceService: Send + Sync + 'static {
Show 19 methods
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;
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;
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;
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;
fn list<'life0, 'async_trait>(
&'life0 self,
request: Request<ListDevicesRequest>
) -> Pin<Box<dyn Future<Output = Result<Response<ListDevicesResponse>, Status>> + Send + 'async_trait>>
where
'life0: 'async_trait,
Self: 'async_trait;
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;
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;
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;
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;
fn flush_dev_nonces<'life0, 'async_trait>(
&'life0 self,
request: Request<FlushDevNoncesRequest>
) -> Pin<Box<dyn Future<Output = Result<Response<()>, Status>> + Send + 'async_trait>>
where
'life0: 'async_trait,
Self: 'async_trait;
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;
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;
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;
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;
fn get_metrics<'life0, 'async_trait>(
&'life0 self,
request: Request<GetDeviceMetricsRequest>
) -> Pin<Box<dyn Future<Output = Result<Response<GetDeviceMetricsResponse>, Status>> + Send + 'async_trait>>
where
'life0: 'async_trait,
Self: 'async_trait;
fn get_link_metrics<'life0, 'async_trait>(
&'life0 self,
request: Request<GetDeviceLinkMetricsRequest>
) -> Pin<Box<dyn Future<Output = Result<Response<GetDeviceLinkMetricsResponse>, Status>> + Send + 'async_trait>>
where
'life0: 'async_trait,
Self: 'async_trait;
fn enqueue<'life0, 'async_trait>(
&'life0 self,
request: Request<EnqueueDeviceQueueItemRequest>
) -> Pin<Box<dyn Future<Output = Result<Response<EnqueueDeviceQueueItemResponse>, Status>> + Send + 'async_trait>>
where
'life0: 'async_trait,
Self: 'async_trait;
fn flush_queue<'life0, 'async_trait>(
&'life0 self,
request: Request<FlushDeviceQueueRequest>
) -> Pin<Box<dyn Future<Output = Result<Response<()>, Status>> + Send + 'async_trait>>
where
'life0: 'async_trait,
Self: 'async_trait;
fn get_queue<'life0, 'async_trait>(
&'life0 self,
request: Request<GetDeviceQueueItemsRequest>
) -> Pin<Box<dyn Future<Output = Result<Response<GetDeviceQueueItemsResponse>, Status>> + Send + 'async_trait>>
where
'life0: 'async_trait,
Self: 'async_trait;
}
Expand description
Generated trait containing gRPC methods that should be implemented for use with DeviceServiceServer.
Required Methods
Create the given device.
Get returns the device for the given DevEUI.
Update the given device.
Delete the device with the given DevEUI.
Get the list of devices.
Create the given device-keys.
Get the device-keys for the given DevEUI.
Update the given device-keys.
Delete the device-keys for the given DevEUI.
FlushDevNonces flushes the OTAA device nonces.
Activate (re)activates the device with the given parameters (for ABP or for importing OTAA activations).
Deactivate de-activates the device.
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,
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 or ABP).
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,
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.
fn get_metrics<'life0, 'async_trait>(
&'life0 self,
request: Request<GetDeviceMetricsRequest>
) -> Pin<Box<dyn Future<Output = Result<Response<GetDeviceMetricsResponse>, Status>> + Send + 'async_trait>> where
'life0: 'async_trait,
Self: 'async_trait,
fn get_metrics<'life0, 'async_trait>(
&'life0 self,
request: Request<GetDeviceMetricsRequest>
) -> Pin<Box<dyn Future<Output = Result<Response<GetDeviceMetricsResponse>, Status>> + Send + 'async_trait>> where
'life0: 'async_trait,
Self: 'async_trait,
GetMetrics returns the device metrics. Note that this requires a device-profile with codec and measurements configured.
fn get_link_metrics<'life0, 'async_trait>(
&'life0 self,
request: Request<GetDeviceLinkMetricsRequest>
) -> Pin<Box<dyn Future<Output = Result<Response<GetDeviceLinkMetricsResponse>, Status>> + Send + 'async_trait>> where
'life0: 'async_trait,
Self: 'async_trait,
fn get_link_metrics<'life0, 'async_trait>(
&'life0 self,
request: Request<GetDeviceLinkMetricsRequest>
) -> Pin<Box<dyn Future<Output = Result<Response<GetDeviceLinkMetricsResponse>, Status>> + Send + 'async_trait>> where
'life0: 'async_trait,
Self: 'async_trait,
GetLinkMetrics returns the device link metrics. This includes uplinks, downlinks, RSSI, SNR, etc…
Enqueue adds the given item to the downlink queue.
FlushQueue flushes the downlink device-queue.
GetQueue returns the downlink device-queue.