commit 5198dfae2aaef3e7f38cb4e1898e6d197013a15f
Author: skenneweg <skenneweg@techfak.uni-bielefeld.de>
Date:   Mon May 11 15:25:14 2020 +0200

    Started to fill the doxygen

diff --git a/src/urt_subscriber.c b/src/urt_subscriber.c
index 3d38acb..1fdd4ee 100644
--- a/src/urt_subscriber.c
+++ b/src/urt_subscriber.c
@@ -48,57 +48,66 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 /**
  * @brief   Initialize the nrt Subscriber.
  *
- * @param[in] subscriber  Subscriber to initalize.
+ * @param[in] subscriber  The NRT subscriber to initialize. Must not be NULL.
  */
 void urtNrtSubscriberInit (urt_nrtsubscriber_t* subscriber) {return;}
 
 /**
- * @brief    .
+ * @brief  Subscribes the subscriber to a topic.
  *
- * @param[in] subscriber  Subscriber to  .
- * @param[in] topic   .
- * @param[in] messages   .
+ * @param[in] subscriber  The NRT subscriber which shall subscribe to a topic. Must not be NULL.
+ * @param[in] topic  The topic to subscribe to. Must not be NULL.
+ * @param[in] messages  NULL terminated list of messages to contribute to the topic.
+ *                      Messages must not be associated to another topic.
+ *                      Once a message has been contributed, it cannot be removed later.
+ *                      May be NULL(no messages to contribute).
  *
- * @return  A status value.
+ * @return  Returns URT_STATUS_OK on success.
+ *          Returns URT_STATUS_SUBSCRIBE_TOPICSET if the subscriber is already associated to a topic.
  */
 urt_status_t urtNrtSubscriberSubscribe (urt_nrtsubscriber_t* subscriber, urt_topic_t* topic, urt_message_t* messages) {
   return URT_STATUS_OK;
 }
 
 /**
- * @brief    .
+ * @brief  Fetches the next message.
  *
- * @param[in] subscriber   .
- * @param[in] payload   .
- * @param[in] bytes   .
- * @param[in] latency   .
+ * @param[in] subscriber  The NRT subscriber that shall fetch the message. Must not be NULL.
+ * @param[in] payload  Pointer where to copy the payload to. May be NULL for messages without payload.
+ * @param[in] bytes  Payload size in bytes.
+ * @param[in] latency  The latency can be returned by reference. May be NULL.
  *
- * @return  A status value.
+ * @return  Returns URT_STATUS_OK on success.
+ *          Returns URT_STATUS_FETCH_NOTOPIC if the subscriber is not associated to a topic.
+ *          Retruns URT_STATUS_FETCH_NOMESSAGE if there is no new message to fetch.
  */
 urt_status_t urtNrtSubscriberFetchNextMessage (urt_nrtsubscriber_t* subscriber, void* payload, size_t bytes, urt_delay_t* latency) {
   return URT_STATUS_OK;
 }
 
 /**
- * @brief    .
+ * @brief Fetches the lates message.
  *
- * @param[in] subscriber   .
- * @param[in] payload   .
- * @param[in] bytes   .
- * @param[in] latency   .
+ * @param[in] subscriber  The NRT subscriber that shall fetch the message. Must not be NULL.
+ * @param[in] payload  Pointer where to copy the payload to. May be NULL for messages without payload.
+ * @param[in] bytes  Payload size in bytes.
+ * @param[in] latency  The latency can be returned by reference. May be NULL.
  *
- * @return  A status value.
+ * @return  Returns URT_STATUS_OK on success.
+ *          Returns URT_STATUS_FETCH_NOTOPIC if the subscriber is not associated to a topic.
+ *          Returns URT_STATUS_FETCH_NOMESSAGE if there is no new message to fetch.
  */
 urt_status_t urtNrtSubscriberFetchLatestMessage (urt_nrtsubscriber_t* subscriber, void* payload, size_t bytes, urt_delay_t* latency) {
   return URT_STATUS_OK;
 }
 
 /**
- * @brief    .
+ * @brief  Unsubscribes from a subscriber.
  *
- * @param[in] subscriber
+ * @param[in] subscriber  The NRT subscriber to be unsubscribed. Must not be NULL.
  *
- * @return  A status value.
+ * @return  Returns URT_STATUS_OK on sucess.
+ *          Returns URT_STATUS_UNSUBSCRIBE_NOTOPIC if the subscriber is not associated to a topic.
  */
 urt_status_t urtNrtSubscriberUnsubscribe (urt_nrtsubscriber_t* subscriber) {
   return URT_STATUS_OK;
@@ -106,195 +115,225 @@ urt_status_t urtNrtSubscriberUnsubscribe (urt_nrtsubscriber_t* subscriber) {
 
 
 /**
- * @brief    .
+ * @brief  Initialize the srt Subscriber.
  *
- * @param[in] subscriber  .
+ * @param[in] subscriber  The SRT subscriber to initialize. Must not be NULL.
  */
 void urtSrtSubscriberInit(urt_srtsubscriber_t* subscriber) {return;}
 
 /**
- * @brief    .
- *
- * @param[in] subscriber  .
- * @param[in] topic  .
- * @param[in] message  .
- * @param[in] usefulnesscb  .
- * @param[in] cbparams  .
- *
- * @return  A status value.
+ * @brief  Subscribes the subscriber to a topic.
+ *
+ * @param[in] subscriber  The SRT subscriber which shall subscribe to a topic. Must not be NULL.
+ * @param[in] topic  The topic to subscribe to. Must not be NULL.
+ * @param[in] message  NULL terminated list of messages to contribute to the topic.
+ *                     Messages must not be associated to another topic.
+ *                     Once a message has been contributed, it cannot be removed later.
+ *                     May be NULL (no messages to contribute)
+ * @param[in] usefulnesscb  Pointer to a function to calculate usefulness of a message. Must not be NULL.
+ * @param[in] cbparams  Optional parameters for the usefulness callback.
+ *                      May be NULL if the callback expects no parameters.
+ *
+ * @return  Returns URT_STATUS_OK on success.
+ *          Returns URT_STATUS_SUBSCRIBE_TOPICSET if the subscriber is already associated to a topic.
  */
 urt_status_t urtSrtSubscriberSubscribe(urt_srtsubscriber_t* subscriber, urt_topic_t* topic,
                                        urt_message_t* message, urt_srtusefulnessfunc_t* usefulnesscb, void* cbparams) {return URT_STATUS_OK;}
 
 /**
- * @brief    .
+ * @brief  Fetches the next message.
  *
- * @param[in] subscriber  .
- * @param[in] payload  .
- * @param[in] latency  .
+ * @param[in] subscriber  The SRT subscriber that shall fetch the message. Must not be NULL.
+ * @param[in] payload  Pointer where to copy the payload to. May be NULL for messages without payload.
+ * @param[in] bytes  Payload size in bytes.
+ * @param[in] latency  The latency can be returned by reference. May be NULL.
  *
- * @return  A status value.
+ * @return  Returns URT_STATUS_OK on success.
+ *          Returns URT_STATUS_FETCH_NOTOPIC if the subscriber is not associated to a topic.
+ *          Returns URT_STATUS_FETCH_NOMESSAGE if there is no new message to fetch.
  */
 urt_status_t urtSrtSubscriberFetchNextMessage(urt_srtsubscriber_t* subscriber, void* payload,
                                               size_t bytes, urt_delay_t* latency){return URT_STATUS_OK;}
 
 /**
- * @brief    .
+ * @brief  Fetches the latest message.
  *
- * @param[in] subscriber  .
- * @param[in] payload  .
- * @param[in] bytes  .
- * @param[in] latency  .
+ * @param[in] subscriber  The SRT subscriber that shall fetch the message. Must not be NULL.
+ * @param[in] payload  Pointer where to copy the payload to. May be NULL for messages without payload.
+ * @param[in] bytes  Payload size in bytes.
+ * @param[in] latency  The latency can be returned by reference. May be NULL.
  *
- * @return  A status value.
+ * @return  Returns URT_STATUS_OK on success.
+ *          Returns URT_STATUS_FETCH_NOTOPIC if the subscriber is not associated to a topic.
+ *          Returns URT_STATUS_FETCH_NOMESSAGE if there is no new message to fetch.
  */
 urt_status_t urtSrtSubscriberFetchLatestMessage(urt_srtsubscriber_t* subscriber, void* payload,
                                                 size_t bytes, urt_delay_t* latency){return URT_STATUS_OK;}
 
 /**
- * @brief   .
+ * @brief  Calculates the usefulness of the subscriber.
  *
- * @param[in] subscriber .
- * @param[in] latency .
+ * @param[in] subscriber  The SRT subscriber that shall fetch the message. Must not be NULL.
+ * @param[in] latency  Latency (of a message) as argument to calculate usefulness.
  *
- * @return  A status value.
+ * @return  Returns the usefulness as a value within [0,1].
  */
-urt_status_t urtSrtSubscriberCalculateUsefulness(urt_srtsubscriber_t* subscriber, urt_delay_t latency){return URT_STATUS_OK;}
+float urtSrtSubscriberCalculateUsefulness(urt_srtsubscriber_t* subscriber, urt_delay_t latency){return 0;}
 
 /**
- * @brief   .
+ * @brief  Unsubscribes from a subscriber.
  *
- * @param[in] subscriber .
+ * @param[in] subscriber  The NRT subscriber to be unsubscribed. Must not be NULL.
  *
- * @return  A status value.
+ * @return  Returns URT_STATUS_OK on sucess.
+ *          Returns URT_STATUS_UNSUBSCRIBE_NOTOPIC if the subscriber is not associated to a topic.
  */
 urt_status_t urtSrtSubscriberUnsubscribe(urt_srtsubscriber_t* subscriber){return URT_STATUS_OK;}
 
 
 /**
- * @brief   .
+ * @brief  Initialize the FRT Subscriber.
  *
- * @param[in] subscriber .
- *
- * @return  A status value.
+ * @param[in] subscriber  The SRT subscriber to initialize. Must not be NULL.
  */
 void urtFrtSubscriberInit(urt_frtsubscriber_t* subscriber){return URT_STATUS_OK;}
 
 /**
- * @brief   .
- *
- * @param[in] subscriber .
- * @param[in] topic .
- * @param[in] messages .
- * @param[in] deadline .
- * @param[in] jitter .
- *
- * @return  A status value.
+ * @brief  Subscribes the subscriber to a topic.
+ *
+ * @param[in] subscriber  The NRT subscriber which shall subscribe to a topic. Must not be NULL.
+ * @param[in] topic  The topic to subscribe to. Must not be NULL.
+ * @param[in] messages  NULL terminated list of messages to contribute to the topic.
+ *                      Messages must not be associated to another topic.
+ *                      Once a message has been contributed, it cannot be removed later.
+ *                      May be NULL(no messages to contribute).
+ * @param[in] deadline  Maximum latency to consume messages. A value of 0 indicates that latency is of no concern.
+ * @param[in] jitter  Maximum allowed jitter (difference between maximum and minimum latency) when consuming messages.
+ *                    A value of 0 indicates that jitter is of no concern.
+ *
+ * @return  Returns URT_STATUS_OK on success.
+ *          Returns URT_STATUS_SUBSCRIBE_TOPICSET if the subscriber is already associated to a topic.
  */
 urt_status_t urtFrtSubscriberSubscribe(urt_frtsubscriber_t* subscriber, urt_topic_t* topic,
                                        urt_message_t* messages, urt_delay_t deadline, urt_delay_t jitter){return URT_STATUS_OK;}
 
 /**
- * @brief   .
+ * @brief  Fetches the next message.
  *
- * @param[in] subscriber .
- * @param[in] payload .
- * @param[in] bytes .
- * @param[in] latency .
+ * @param[in] subscriber  The SRT subscriber that shall fetch the message. Must not be NULL.
+ * @param[in] payload  Pointer where to copy the payload to. May be NULL for messages without payload.
+ * @param[in] bytes  Payload size in bytes.
+ * @param[in] latency  The latency can be returned by reference. May be NULL.
  *
- * @return  A status value.
+ * @return  Returns URT_STATUS_OK on success.
+ *          Returns URT_STATUS_FETCH_NOTOPIC if the subscriber is not associated to a topic.
+ *          Returns URT_STATUS_FETCH_NOMESSAGE if there is no new message to fetch.
  */
 urt_status_t urtFrtSubscriberFetchNextMessage(urt_frtsubscriber_t* subscriber, void* payload,
                                               size_t bytes, urt_delay_t* latency){return URT_STATUS_OK;}
 
 /**
- * @brief   .
+ * @brief  Fetches the latest message.
  *
- * @param[in] subscriber .
- * @param[in] payload .
- * @param[in] bytes .
- * @param[in] latency .
+ * @param[in] subscriber  The SRT subscriber that shall fetch the message. Must not be NULL.
+ * @param[in] payload  Pointer where to copy the payload to. May be NULL for messages without payload.
+ * @param[in] bytes  Payload size in bytes.
+ * @param[in] latency  The latency can be returned by reference. May be NULL.
  *
- * @return  A status value.
+ * @return  Returns URT_STATUS_OK on success.
+ *          Returns URT_STATUS_FETCH_NOTOPIC if the subscriber is not associated to a topic.
+ *          Returns URT_STATUS_FETCH_NOMESSAGE if there is no new message to fetch.
  */
 urt_status_t urtFrtSubscriberFetchLatestMessage(urt_frtsubscriber_t* subscriber, void* payload,
                                                 size_t bytes, urt_delay_t* latency){return URT_STATUS_OK;}
 
 /**
- * @brief   .
+ * @brief  Calculates the validity from the subscriber.
  *
- * @param[in] subscriber .
- * @param[in] latency .
+ * @param[in] subscriber  The FRT subscriber to calculate a validity for. Must not be NULL.
+ * @param[in] latency  Latency (of a message) as argument to calculate validity.
  *
- * @return  A status value.
+ * @return  Returns a boolean indicator whether the latency is fine.
  */
 bool urtFrtSubscriberCalculateValidity(urt_frtsubscriber_t* subscriber, urt_delay_t latency){return true;}
 
 /**
- * @brief   .
+ * @brief  Unsubscribes from a subscriber.
  *
- * @param[in] subscriber .
+ * @param[in] subscriber  The NRT subscriber to be unsubscribed. Must not be NULL.
  *
- * @return  A status value.
+ * @return  Returns URT_STATUS_OK on sucess.
+ *          Returns URT_STATUS_UNSUBSCRIBE_NOTOPIC if the subscriber is not associated to a topic.
  */
 urt_status_t urtFrtSubscriberUnsubscribe(urt_frtsubscriber_t* subscriber){return URT_STATUS_OK;}
 
 
 /**
- * @brief   .
+ * @brief  Initialize the HRT Subscriber.
  *
- * @param[in] subscriber .
+ * @param[in] subscriber  The HRT subscriber to initialize. Must not be NULL.
  */
 void urtHrtSubscriberInit(urt_hrtsubscriber_t* subscriber){return;}
 
 /**
- * @brief   .
- *
- * @param[in] subscriber .
- * @param[in] topic .
- * @param[in] message .
- * @param[in] deadline .
- * @param[in] rate .
- * @param[in] jitter .
- *
- * @return  A status value.
+ * @brief  Subscribes the subscriber to a topic.
+ *
+ * @param[in] subscriber  The NRT subscriber which shall subscribe to a topic. Must not be NULL.
+ * @param[in] topic  The topic to subscribe to. Must not be NULL.
+ * @param[in] messages  NULL terminated list of messages to contribute to the topic.
+ *                      Messages must not be associated to another topic.
+ *                      Once a message has been contributed, it cannot be removed later.
+ *                      May be NULL(no messages to contribute).
+ * @param[in] deadline  Maximum latency to consume messages. A value of 0 indicates that latency is of no concern.
+ * @param[in] rate  Expected minimum rate of new messages (= maximum time between consecutive messages).
+ *                  A value of 0 indicates, that rate is of no concern.
+ * @param[in] jitter  Maximum allowed jitter (difference between maximum and minimum latency) when consuming messages.
+ *                    A value of 0 indicates that jitter is of no concern.
+ *
+ * @return  Returns URT_STATUS_OK on success.
+ *          Returns URT_STATUS_SUBSCRIBE_TOPICSET if the subscriber is already associated to a topic.
  */
 urt_status_t urtHrtSubscriberSubscribe(urt_hrtsubscriber_t* subscriber, urt_topic_t* topic,
                                        urt_message_t* message, urt_delay_t deadline, urt_delay_t rate, urt_delay_t jitter){return URT_STATUS_OK;}
 
 
 /**
- * @brief   .
+ * @brief  Fetches the next message.
  *
- * @param[in] subscriber .
- * @param[in] payload .
- * @param[in] bytes .
- * @param[in] latency .
+ * @param[in] subscriber  The SRT subscriber that shall fetch the message. Must not be NULL.
+ * @param[in] payload  Pointer where to copy the payload to. May be NULL for messages without payload.
+ * @param[in] bytes  Payload size in bytes.
+ * @param[in] latency  The latency can be returned by reference. May be NULL.
  *
- * @return  A status value.
+ * @return  Returns URT_STATUS_OK on success.
+ *          Returns URT_STATUS_FETCH_NOTOPIC if the subscriber is not associated to a topic.
+ *          Returns URT_STATUS_FETCH_NOMESSAGE if there is no new message to fetch.
  */
 urt_status_t urtHrtSubscriberFetchNextMessage(urt_hrtsubscriber_t* subscriber, void* payload,
                                               size_t bytes, urt_delay_t* latency){return URT_STATUS_OK;}
 
 
 /**
- * @brief   .
+ * @brief  Fetches the latest message.
  *
- * @param[in] subscriber .
- * @param[in] payload .
- * @param[in] bytes .
- * @param[in] latency .
+ * @param[in] subscriber  The SRT subscriber that shall fetch the message. Must not be NULL.
+ * @param[in] payload  Pointer where to copy the payload to. May be NULL for messages without payload.
+ * @param[in] bytes  Payload size in bytes.
+ * @param[in] latency  The latency can be returned by reference. May be NULL.
  *
- * @return  A status value.
+ * @return  Returns URT_STATUS_OK on success.
+ *          Returns URT_STATUS_FETCH_NOTOPIC if the subscriber is not associated to a topic.
+ *          Returns URT_STATUS_FETCH_NOMESSAGE if there is no new message to fetch.
  */
 urt_status_t urtHrtSubscriberFetchLatestMessage(urt_hrtsubscriber_t* subscriber, void* payload,
                                                 size_t bytes, urt_delay_t* latency){return URT_STATUS_OK;}
 
 /**
- * @brief   .
+ * @brief  Unsubscribes from a subscriber.
  *
- * @param[in] subscriber .
+ * @param[in] subscriber  The HRT subscriber to be unsubscribed. Must not be NULL.
  *
- * @return  A status value.
+ * @return  Returns URT_STATUS_OK on sucess.
+ *          Returns URT_STATUS_UNSUBSCRIBE_NOTOPIC if the subscriber is not associated to a topic.
  */
 urt_status_t urtHrtSubscriberUnsubscribe(urt_hrtsubscriber_t* subscriber){return URT_STATUS_OK;}
