Revision 7d9678db inc/urt_topic.h
| inc/urt_topic.h | ||
|---|---|---|
| 22 | 22 |
#ifndef URTWARE_TOPIC_H |
| 23 | 23 |
#define URTWARE_TOPIC_H |
| 24 | 24 |
|
| 25 |
#include <urt_types.h> |
|
| 26 |
#include <urtware.h> |
|
| 27 |
|
|
| 25 | 28 |
/******************************************************************************/ |
| 26 | 29 |
/* CONSTANTS */ |
| 27 | 30 |
/******************************************************************************/ |
| ... | ... | |
| 38 | 41 |
/* DATA STRUCTURES AND TYPES */ |
| 39 | 42 |
/******************************************************************************/ |
| 40 | 43 |
|
| 44 |
/** |
|
| 45 |
* @brief topic |
|
| 46 |
*/ |
|
| 47 |
typedef struct urt_topic |
|
| 48 |
{
|
|
| 49 |
urt_topic_t* next; |
|
| 50 |
urt_topicid_t id; |
|
| 51 |
urt_osMutex_t lock; |
|
| 52 |
urt_osEventSource_t evtSource; |
|
| 53 |
unsigned int numHrtSubscribers; |
|
| 54 |
urt_osCondvar_t hrtReleased; |
|
| 55 |
urt_message_t mandatoryMessage; |
|
| 56 |
urt_message_t* latestMessage; |
|
| 57 |
#if (URT_CFG_PUBSUB_QOS_RATECHECKS) |
|
| 58 |
urt_hrtsubscriber_t* hrtSubscribers; |
|
| 59 |
urt_osTimer_t qosRateTimer; |
|
| 60 |
#endif /* URT_CFG_PUBSUB_QOS_RATECHECKS */ |
|
| 61 |
#if (URT_CFG_PUBSUB_PROFILING) |
|
| 62 |
uint64_t numMessagesPublished; |
|
| 63 |
uint64_t numMessagesDiscarded; |
|
| 64 |
unsigned int numSubscribers; |
|
| 65 |
#endif /* URT_CFG_PUBSUB_PROFILING */ |
|
| 66 |
}urt_topic_t; |
|
| 67 |
|
|
| 41 | 68 |
/******************************************************************************/ |
| 42 | 69 |
/* MACROS */ |
| 43 | 70 |
/******************************************************************************/ |
| ... | ... | |
| 46 | 73 |
/* EXTERN DECLARATIONS */ |
| 47 | 74 |
/******************************************************************************/ |
| 48 | 75 |
|
| 76 |
#if defined(__cplusplus) |
|
| 77 |
extern "C" {
|
|
| 78 |
#endif /* defined(__cplusplus) */ |
|
| 79 |
|
|
| 80 |
urt_status_t urtTopicInit(urt_topic_t* topic, urt_topicid_t id); |
|
| 81 |
#if defined(__cplusplus) |
|
| 82 |
} |
|
| 83 |
#endif /* defined(__cplusplus) */ |
|
| 84 |
|
|
| 49 | 85 |
/******************************************************************************/ |
| 50 | 86 |
/* INLINE FUNCTIONS */ |
| 51 | 87 |
/******************************************************************************/ |
Also available in: Unified diff