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. More...
 
#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. More...
 
#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 Mar 27 02:04:30 EDT 2024 from SVN revision 264570
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)