VR-Link API Documentation for DIS
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Classes | Macros | Typedefs
vlShmQueue.h File Reference

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

Detailed Description

This file contains the declaration of DtShmMsgQueueManager.

Macro Definition Documentation

#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 Documentation

typedef struct Dt_Q_Hdr DtShmQueueHdr

Document ID: Generated on Wed Jan 7 13:31:29 EST 2015 from SVN revision 149162
Copyright © 2005-2014 VT MÄK. All Rights Reserved (www.mak.com)