![]() |
VR-Link API Documentation for HLA 1.3
|
This file contains the declaration of DtShmMsgQueueManager. More...
Go to the source code of this file.
Classes | |
| struct | Dt_Q_Elmt_Hdr |
| struct | Dt_Msg_Queue_Element |
| struct | Dt_Q_Hdr |
| struct | Dt_Shm_Msg_Queue |
| class | DtShmMsgQueueManager |
Macros | |
| #define | DT_QCONTROL_VALID 0 |
| BEFORE sys/types.h because of concurrent size_t. | |
| #define | DT_QCONTROL_DEAD_SPACE 1 |
| #define | DT_QCONTROL_END 2 |
| #define | DtSMQFrontLockSem 0 |
| #define | DtSMQPacketCountSem 1 |
| #define | DtSMQByteCountSem 0 |
| This is a real hack. | |
| #define | DtCsSemaphoresUsed 2 |
| #define | DtSMQDontGoYet 0 |
| #define | DtSMQIAmGoingAway 1 |
| #define | DtSMQYouMustGoAway 2 |
| #define | DtSMQExternal 0 |
| #define | DtSMQInternal 1 |
Typedefs | |
| typedef struct Dt_Q_Elmt_Hdr | DtQueueElementHdr |
| typedef struct Dt_Msg_Queue_Element | DtMsgQueueElement |
| typedef struct Dt_Q_Hdr | DtShmQueueHdr |
| typedef struct Dt_Shm_Msg_Queue | DtShmMsgQueue |
This file contains the declaration of DtShmMsgQueueManager.
| #define DT_QCONTROL_DEAD_SPACE 1 |
| #define DT_QCONTROL_END 2 |
| #define DT_QCONTROL_VALID 0 |
BEFORE sys/types.h because of concurrent size_t.
These are used for the control flag in the header.
| #define DtCsSemaphoresUsed 2 |
| #define DtSMQByteCountSem 0 |
This is a real hack.
Front Lock Sem is used for drop oldest mode, while Byte Count Sem is used for blocking writes. Since these are mutually exclusive, we can reuse the same semaphore, which is a 50% savings on semaphore usage, which is limited to 60 by default on most system.
| #define DtSMQDontGoYet 0 |
| #define DtSMQExternal 0 |
| #define DtSMQFrontLockSem 0 |
| #define DtSMQIAmGoingAway 1 |
| #define DtSMQInternal 1 |
| #define DtSMQPacketCountSem 1 |
| #define DtSMQYouMustGoAway 2 |
| typedef struct Dt_Msg_Queue_Element DtMsgQueueElement |
| typedef struct Dt_Q_Elmt_Hdr DtQueueElementHdr |
| typedef struct Dt_Shm_Msg_Queue DtShmMsgQueue |
| typedef struct Dt_Q_Hdr DtShmQueueHdr |