PX4 Firmware
PX4 Autopilot Software http://px4.io
uORBCommunicator::IChannelRxHandler Class Referenceabstract

Class passed to the communication link implement to provide callback for received messages over a channel. More...

#include <uORBCommunicator.hpp>

Collaboration diagram for uORBCommunicator::IChannelRxHandler:

Public Member Functions

virtual int16_t process_remote_topic (const char *topic_name, bool isAdvertisement)=0
 Interface to process a received topic from remote. More...
 
virtual int16_t process_add_subscription (const char *messageName, int32_t msgRateInHz)=0
 Interface to process a received AddSubscription from remote. More...
 
virtual int16_t process_remove_subscription (const char *messageName)=0
 Interface to process a received control msg to remove subscription. More...
 
virtual int16_t process_received_message (const char *messageName, int32_t length, uint8_t *data)=0
 Interface to process the received data message. More...
 

Detailed Description

Class passed to the communication link implement to provide callback for received messages over a channel.

Definition at line 153 of file uORBCommunicator.hpp.

Member Function Documentation

◆ process_add_subscription()

virtual int16_t uORBCommunicator::IChannelRxHandler::process_add_subscription ( const char *  messageName,
int32_t  msgRateInHz 
)
pure virtual

Interface to process a received AddSubscription from remote.

Parameters
messageNameThis represents the uORB message Name; This message Name should be globally unique.
msgRateThe max rate at which the subscriber can accept the messages.
Returns
0 = success; This means the messages is successfully handled in the handler. otherwise = failure.

Referenced by px4muorb_add_subscriber().

Here is the caller graph for this function:

◆ process_received_message()

virtual int16_t uORBCommunicator::IChannelRxHandler::process_received_message ( const char *  messageName,
int32_t  length,
uint8_t *  data 
)
pure virtual

Interface to process the received data message.

Parameters
messageNameThis represents the uORB message Name; This message Name should be globally unique.
lengthThe length of the data buffer to be sent.
dataThe actual data to be sent.
Returns
0 = success; This means the messages is successfully handled in the handler. otherwise = failure.

Referenced by uORB::KraitFastRpcChannel::fastrpc_recv_thread(), and px4muorb_send_topic_data().

Here is the caller graph for this function:

◆ process_remote_topic()

virtual int16_t uORBCommunicator::IChannelRxHandler::process_remote_topic ( const char *  topic_name,
bool  isAdvertisement 
)
pure virtual

Interface to process a received topic from remote.

Parameters
topic_nameThis represents the uORB message Name (topic); This message Name should be globally unique.
isAdvertisementRepresents if the topic has been advertised or is no longer avialable.
Returns
0 = success; This means the messages is successfully handled in the handler. otherwise = failure.

Referenced by uORB::KraitFastRpcChannel::fastrpc_recv_thread(), px4muorb_topic_advertised(), and px4muorb_topic_unadvertised().

Here is the caller graph for this function:

◆ process_remove_subscription()

virtual int16_t uORBCommunicator::IChannelRxHandler::process_remove_subscription ( const char *  messageName)
pure virtual

Interface to process a received control msg to remove subscription.

Parameters
messageNameThis represents the uORB message Name; This message Name should be globally unique.
Returns
0 = success; This means the messages is successfully handled in the handler. otherwise = failure.

Referenced by px4muorb_remove_subscriber().

Here is the caller graph for this function:

The documentation for this class was generated from the following file: