13 #include <vlutil/vlShmPool.h>
19 struct DtBucketHeader;
39 static const unsigned int theMaxSubscribers = 255;
53 virtual bool isEmpty();
56 virtual bool isSubscribed( DtU8 subscriberId )
const;
60 virtual DtU32 subscriberDrops( DtU8 subscriberId )
const;
67 virtual void sendMessage(
const void* message,
unsigned int size,
68 bool global =
false );
73 virtual void* message(
unsigned int* outSize = 0 );
80 virtual void unsubscribe( DtU8
id );
87 void subscribe( DtU8
id );
92 virtual void resetQueue( DtU32 numberOfBuckets, DtU32 payloadSize );
95 virtual std::ostream& printDataToStream( std::ostream& str )
const;
100 static unsigned int poolSize( DtU32 numberOfBuckets, DtU32 payloadSize );
109 DtU32 numberOfBuckets()
const;
112 DtU32 payloadSize()
const;
116 virtual char* payloadInBucket(
unsigned int bucketNum )
const;
119 virtual DtBucketHeader* bucketHeader(
unsigned int bucketNum )
const;
124 virtual void lockForWrite();
127 virtual void unlockForWrite();