Trait chirpstack_api::ns::network_server_service_server::NetworkServerService[][src]

pub trait NetworkServerService: Send + Sync + 'static {
    type StreamFrameLogsForGatewayStream: Stream<Item = Result<StreamFrameLogsForGatewayResponse, Status>> + Send + Sync + 'static;
    type StreamFrameLogsForDeviceStream: Stream<Item = Result<StreamFrameLogsForDeviceResponse, Status>> + Send + Sync + 'static;
Show methods fn create_service_profile<'life0, 'async_trait>(
        &'life0 self,
        request: Request<CreateServiceProfileRequest>
    ) -> Pin<Box<dyn Future<Output = Result<Response<CreateServiceProfileResponse>, Status>> + Send + 'async_trait>>
    where
        'life0: 'async_trait,
        Self: 'async_trait
;
fn get_service_profile<'life0, 'async_trait>(
        &'life0 self,
        request: Request<GetServiceProfileRequest>
    ) -> Pin<Box<dyn Future<Output = Result<Response<GetServiceProfileResponse>, Status>> + Send + 'async_trait>>
    where
        'life0: 'async_trait,
        Self: 'async_trait
;
fn update_service_profile<'life0, 'async_trait>(
        &'life0 self,
        request: Request<UpdateServiceProfileRequest>
    ) -> Pin<Box<dyn Future<Output = Result<Response<()>, Status>> + Send + 'async_trait>>
    where
        'life0: 'async_trait,
        Self: 'async_trait
;
fn delete_service_profile<'life0, 'async_trait>(
        &'life0 self,
        request: Request<DeleteServiceProfileRequest>
    ) -> Pin<Box<dyn Future<Output = Result<Response<()>, Status>> + Send + 'async_trait>>
    where
        'life0: 'async_trait,
        Self: 'async_trait
;
fn create_routing_profile<'life0, 'async_trait>(
        &'life0 self,
        request: Request<CreateRoutingProfileRequest>
    ) -> Pin<Box<dyn Future<Output = Result<Response<CreateRoutingProfileResponse>, Status>> + Send + 'async_trait>>
    where
        'life0: 'async_trait,
        Self: 'async_trait
;
fn get_routing_profile<'life0, 'async_trait>(
        &'life0 self,
        request: Request<GetRoutingProfileRequest>
    ) -> Pin<Box<dyn Future<Output = Result<Response<GetRoutingProfileResponse>, Status>> + Send + 'async_trait>>
    where
        'life0: 'async_trait,
        Self: 'async_trait
;
fn update_routing_profile<'life0, 'async_trait>(
        &'life0 self,
        request: Request<UpdateRoutingProfileRequest>
    ) -> Pin<Box<dyn Future<Output = Result<Response<()>, Status>> + Send + 'async_trait>>
    where
        'life0: 'async_trait,
        Self: 'async_trait
;
fn delete_routing_profile<'life0, 'async_trait>(
        &'life0 self,
        request: Request<DeleteRoutingProfileRequest>
    ) -> Pin<Box<dyn Future<Output = Result<Response<()>, Status>> + Send + 'async_trait>>
    where
        'life0: 'async_trait,
        Self: 'async_trait
;
fn create_device_profile<'life0, 'async_trait>(
        &'life0 self,
        request: Request<CreateDeviceProfileRequest>
    ) -> Pin<Box<dyn Future<Output = Result<Response<CreateDeviceProfileResponse>, Status>> + Send + 'async_trait>>
    where
        'life0: 'async_trait,
        Self: 'async_trait
;
fn get_device_profile<'life0, 'async_trait>(
        &'life0 self,
        request: Request<GetDeviceProfileRequest>
    ) -> Pin<Box<dyn Future<Output = Result<Response<GetDeviceProfileResponse>, Status>> + Send + 'async_trait>>
    where
        'life0: 'async_trait,
        Self: 'async_trait
;
fn update_device_profile<'life0, 'async_trait>(
        &'life0 self,
        request: Request<UpdateDeviceProfileRequest>
    ) -> Pin<Box<dyn Future<Output = Result<Response<()>, Status>> + Send + 'async_trait>>
    where
        'life0: 'async_trait,
        Self: 'async_trait
;
fn delete_device_profile<'life0, 'async_trait>(
        &'life0 self,
        request: Request<DeleteDeviceProfileRequest>
    ) -> Pin<Box<dyn Future<Output = Result<Response<()>, Status>> + Send + 'async_trait>>
    where
        'life0: 'async_trait,
        Self: 'async_trait
;
fn create_device<'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_device<'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_device<'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_device<'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 activate_device<'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_device<'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_device_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 create_device_queue_item<'life0, 'async_trait>(
        &'life0 self,
        request: Request<CreateDeviceQueueItemRequest>
    ) -> Pin<Box<dyn Future<Output = Result<Response<()>, Status>> + Send + 'async_trait>>
    where
        'life0: 'async_trait,
        Self: 'async_trait
;
fn flush_device_queue_for_dev_eui<'life0, 'async_trait>(
        &'life0 self,
        request: Request<FlushDeviceQueueForDevEuiRequest>
    ) -> Pin<Box<dyn Future<Output = Result<Response<()>, Status>> + Send + 'async_trait>>
    where
        'life0: 'async_trait,
        Self: 'async_trait
;
fn get_device_queue_items_for_dev_eui<'life0, 'async_trait>(
        &'life0 self,
        request: Request<GetDeviceQueueItemsForDevEuiRequest>
    ) -> Pin<Box<dyn Future<Output = Result<Response<GetDeviceQueueItemsForDevEuiResponse>, Status>> + Send + 'async_trait>>
    where
        'life0: 'async_trait,
        Self: 'async_trait
;
fn get_next_downlink_f_cnt_for_dev_eui<'life0, 'async_trait>(
        &'life0 self,
        request: Request<GetNextDownlinkFCntForDevEuiRequest>
    ) -> Pin<Box<dyn Future<Output = Result<Response<GetNextDownlinkFCntForDevEuiResponse>, Status>> + Send + 'async_trait>>
    where
        'life0: 'async_trait,
        Self: 'async_trait
;
fn get_random_dev_addr<'life0, 'async_trait>(
        &'life0 self,
        request: Request<()>
    ) -> Pin<Box<dyn Future<Output = Result<Response<GetRandomDevAddrResponse>, Status>> + Send + 'async_trait>>
    where
        'life0: 'async_trait,
        Self: 'async_trait
;
fn create_mac_command_queue_item<'life0, 'async_trait>(
        &'life0 self,
        request: Request<CreateMacCommandQueueItemRequest>
    ) -> Pin<Box<dyn Future<Output = Result<Response<()>, Status>> + Send + 'async_trait>>
    where
        'life0: 'async_trait,
        Self: 'async_trait
;
fn send_proprietary_payload<'life0, 'async_trait>(
        &'life0 self,
        request: Request<SendProprietaryPayloadRequest>
    ) -> Pin<Box<dyn Future<Output = Result<Response<()>, Status>> + Send + 'async_trait>>
    where
        'life0: 'async_trait,
        Self: 'async_trait
;
fn create_gateway<'life0, 'async_trait>(
        &'life0 self,
        request: Request<CreateGatewayRequest>
    ) -> Pin<Box<dyn Future<Output = Result<Response<()>, Status>> + Send + 'async_trait>>
    where
        'life0: 'async_trait,
        Self: 'async_trait
;
fn get_gateway<'life0, 'async_trait>(
        &'life0 self,
        request: Request<GetGatewayRequest>
    ) -> Pin<Box<dyn Future<Output = Result<Response<GetGatewayResponse>, Status>> + Send + 'async_trait>>
    where
        'life0: 'async_trait,
        Self: 'async_trait
;
fn update_gateway<'life0, 'async_trait>(
        &'life0 self,
        request: Request<UpdateGatewayRequest>
    ) -> Pin<Box<dyn Future<Output = Result<Response<()>, Status>> + Send + 'async_trait>>
    where
        'life0: 'async_trait,
        Self: 'async_trait
;
fn delete_gateway<'life0, 'async_trait>(
        &'life0 self,
        request: Request<DeleteGatewayRequest>
    ) -> Pin<Box<dyn Future<Output = Result<Response<()>, Status>> + Send + 'async_trait>>
    where
        'life0: 'async_trait,
        Self: 'async_trait
;
fn generate_gateway_client_certificate<'life0, 'async_trait>(
        &'life0 self,
        request: Request<GenerateGatewayClientCertificateRequest>
    ) -> Pin<Box<dyn Future<Output = Result<Response<GenerateGatewayClientCertificateResponse>, Status>> + Send + 'async_trait>>
    where
        'life0: 'async_trait,
        Self: 'async_trait
;
fn create_gateway_profile<'life0, 'async_trait>(
        &'life0 self,
        request: Request<CreateGatewayProfileRequest>
    ) -> Pin<Box<dyn Future<Output = Result<Response<CreateGatewayProfileResponse>, Status>> + Send + 'async_trait>>
    where
        'life0: 'async_trait,
        Self: 'async_trait
;
fn get_gateway_profile<'life0, 'async_trait>(
        &'life0 self,
        request: Request<GetGatewayProfileRequest>
    ) -> Pin<Box<dyn Future<Output = Result<Response<GetGatewayProfileResponse>, Status>> + Send + 'async_trait>>
    where
        'life0: 'async_trait,
        Self: 'async_trait
;
fn update_gateway_profile<'life0, 'async_trait>(
        &'life0 self,
        request: Request<UpdateGatewayProfileRequest>
    ) -> Pin<Box<dyn Future<Output = Result<Response<()>, Status>> + Send + 'async_trait>>
    where
        'life0: 'async_trait,
        Self: 'async_trait
;
fn delete_gateway_profile<'life0, 'async_trait>(
        &'life0 self,
        request: Request<DeleteGatewayProfileRequest>
    ) -> Pin<Box<dyn Future<Output = Result<Response<()>, Status>> + Send + 'async_trait>>
    where
        'life0: 'async_trait,
        Self: 'async_trait
;
fn get_gateway_stats<'life0, 'async_trait>(
        &'life0 self,
        request: Request<GetGatewayStatsRequest>
    ) -> Pin<Box<dyn Future<Output = Result<Response<GetGatewayStatsResponse>, Status>> + Send + 'async_trait>>
    where
        'life0: 'async_trait,
        Self: 'async_trait
;
fn stream_frame_logs_for_gateway<'life0, 'async_trait>(
        &'life0 self,
        request: Request<StreamFrameLogsForGatewayRequest>
    ) -> Pin<Box<dyn Future<Output = Result<Response<Self::StreamFrameLogsForGatewayStream>, Status>> + Send + 'async_trait>>
    where
        'life0: 'async_trait,
        Self: 'async_trait
;
fn stream_frame_logs_for_device<'life0, 'async_trait>(
        &'life0 self,
        request: Request<StreamFrameLogsForDeviceRequest>
    ) -> Pin<Box<dyn Future<Output = Result<Response<Self::StreamFrameLogsForDeviceStream>, Status>> + Send + 'async_trait>>
    where
        'life0: 'async_trait,
        Self: 'async_trait
;
fn create_multicast_group<'life0, 'async_trait>(
        &'life0 self,
        request: Request<CreateMulticastGroupRequest>
    ) -> Pin<Box<dyn Future<Output = Result<Response<CreateMulticastGroupResponse>, Status>> + Send + 'async_trait>>
    where
        'life0: 'async_trait,
        Self: 'async_trait
;
fn get_multicast_group<'life0, 'async_trait>(
        &'life0 self,
        request: Request<GetMulticastGroupRequest>
    ) -> Pin<Box<dyn Future<Output = Result<Response<GetMulticastGroupResponse>, Status>> + Send + 'async_trait>>
    where
        'life0: 'async_trait,
        Self: 'async_trait
;
fn update_multicast_group<'life0, 'async_trait>(
        &'life0 self,
        request: Request<UpdateMulticastGroupRequest>
    ) -> Pin<Box<dyn Future<Output = Result<Response<()>, Status>> + Send + 'async_trait>>
    where
        'life0: 'async_trait,
        Self: 'async_trait
;
fn delete_multicast_group<'life0, 'async_trait>(
        &'life0 self,
        request: Request<DeleteMulticastGroupRequest>
    ) -> Pin<Box<dyn Future<Output = Result<Response<()>, Status>> + Send + 'async_trait>>
    where
        'life0: 'async_trait,
        Self: 'async_trait
;
fn add_device_to_multicast_group<'life0, 'async_trait>(
        &'life0 self,
        request: Request<AddDeviceToMulticastGroupRequest>
    ) -> Pin<Box<dyn Future<Output = Result<Response<()>, Status>> + Send + 'async_trait>>
    where
        'life0: 'async_trait,
        Self: 'async_trait
;
fn remove_device_from_multicast_group<'life0, 'async_trait>(
        &'life0 self,
        request: Request<RemoveDeviceFromMulticastGroupRequest>
    ) -> Pin<Box<dyn Future<Output = Result<Response<()>, Status>> + Send + 'async_trait>>
    where
        'life0: 'async_trait,
        Self: 'async_trait
;
fn enqueue_multicast_queue_item<'life0, 'async_trait>(
        &'life0 self,
        request: Request<EnqueueMulticastQueueItemRequest>
    ) -> Pin<Box<dyn Future<Output = Result<Response<()>, Status>> + Send + 'async_trait>>
    where
        'life0: 'async_trait,
        Self: 'async_trait
;
fn flush_multicast_queue_for_multicast_group<'life0, 'async_trait>(
        &'life0 self,
        request: Request<FlushMulticastQueueForMulticastGroupRequest>
    ) -> Pin<Box<dyn Future<Output = Result<Response<()>, Status>> + Send + 'async_trait>>
    where
        'life0: 'async_trait,
        Self: 'async_trait
;
fn get_multicast_queue_items_for_multicast_group<'life0, 'async_trait>(
        &'life0 self,
        request: Request<GetMulticastQueueItemsForMulticastGroupRequest>
    ) -> Pin<Box<dyn Future<Output = Result<Response<GetMulticastQueueItemsForMulticastGroupResponse>, Status>> + Send + 'async_trait>>
    where
        'life0: 'async_trait,
        Self: 'async_trait
;
fn get_version<'life0, 'async_trait>(
        &'life0 self,
        request: Request<()>
    ) -> Pin<Box<dyn Future<Output = Result<Response<GetVersionResponse>, Status>> + Send + 'async_trait>>
    where
        'life0: 'async_trait,
        Self: 'async_trait
;
fn get_adr_algorithms<'life0, 'async_trait>(
        &'life0 self,
        request: Request<()>
    ) -> Pin<Box<dyn Future<Output = Result<Response<GetAdrAlgorithmsResponse>, 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 NetworkServerServiceServer.

Associated Types

Server streaming response type for the StreamFrameLogsForGateway method.

Server streaming response type for the StreamFrameLogsForDevice method.

Required methods

CreateServiceProfile creates the given service-profile.

GetServiceProfile returns the service-profile matching the given id.

UpdateServiceProfile updates the given service-profile.

DeleteServiceProfile deletes the service-profile matching the given id.

CreateRoutingProfile creates the given routing-profile.

GetRoutingProfile returns the routing-profile matching the given id.

UpdateRoutingProfile updates the given routing-profile.

DeleteRoutingProfile deletes the routing-profile matching the given id.

CreateDeviceProfile creates the given device-profile.

GetDeviceProfile returns the device-profile matching the given id.

UpdateDeviceProfile updates the given device-profile.

DeleteDeviceProfile deletes the device-profile matching the given id.

CreateDevice creates the given device.

GetDevice returns the device matching the given DevEUI.

UpdateDevice updates the given device.

DeleteDevice deletes the device matching the given DevEUI.

ActivateDevice activates a device (ABP).

DeactivateDevice de-activates a device.

GetDeviceActivation returns the device activation details.

CreateDeviceQueueItem creates the given device-queue item.

FlushDeviceQueueForDevEUI flushes the device-queue for the given DevEUI.

GetDeviceQueueItemsForDevEUI returns all device-queue items for the given DevEUI.

GetNextDownlinkFCntForDevEUI returns the next FCnt that must be used. This also takes device-queue items for the given DevEUI into consideration.

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

CreateMACCommandQueueItem adds the downlink mac-command to the queue.

SendProprietaryPayload send a payload using the ‘Proprietary’ LoRaWAN message-type.

CreateGateway creates the given gateway.

GetGateway returns data for a particular gateway.

UpdateGateway updates an existing gateway.

DeleteGateway deletes a gateway.

GenerateGatewayClientCertificate returns TLS certificate gateway authentication / authorization. This endpoint can ony be used when ChirpStack Network Server is configured with a gateway CA certificate and key, which is used for signing the TLS certificate. The returned TLS certificate will have the Gateway ID as Common Name.

CreateGatewayProfile creates the given gateway-profile.

GetGatewayProfile returns the gateway-profile given an id.

UpdateGatewayProfile updates the given gateway-profile.

DeleteGatewayProfile deletes the gateway-profile matching a given id.

GetGatewayStats returns stats of an existing gateway. Deprecated (stats are forwarded to Application Server API).

StreamFrameLogsForGateway returns a stream of frames seen by the given gateway.

StreamFrameLogsForDevice returns a stream of frames seen by the given device.

CreateMulticastGroup creates the given multicast-group.

GetMulticastGroup returns the multicast-group given an id.

UpdateMulticastGroup updates the given multicast-group.

DeleteMulticastGroup deletes a multicast-group given an id.

AddDeviceToMulticastGroup adds the given device to the given multicast-group.

RemoveDeviceFromMulticastGroup removes the given device from the given multicast-group.

EnqueueMulticastQueueItem enqueues the given multicast queue-item and increments the frame-counter after enqueueing.

FlushMulticastQueueForMulticastGroup flushes the multicast device-queue given a multicast-group id.

GetMulticastQueueItemsForMulticastGroup returns the queue-items given a multicast-group id.

GetVersion returns the ChirpStack Network Server version.

GetADRAlgorithms returns the available ADR algorithms.

Implementors