Class RACE_QLS_MessageSizeSum {ANSI C++} derived from: RACE_QueueLevelStrategy

Documentation
The <high_water_mark>
determines how many bytes can be stored in a queue before it's
considered "full." Supplier threads must block until the queue
is no longer full. The <low_water_mark> determines how many
bytes must be in the queue before supplier threads are allowed to
enqueue additional <RACE_Message_Block>s. By default, the
<high_water_mark> equals the <low_water_mark>, which means that
suppliers will be able to enqueue new messages as soon as a
consumer removes any message from the queue. Making the
<low_water_mark> smaller than the <high_water_mark> forces
consumers to drain more messages from the queue before suppliers
can enqueue new messages, which can minimize the "silly window
syndrome."


Parent PackageRACEAbstractNo
Export ControlPublicAccessLink Class forNone
Class KindNormalClassCardinalityn
Space ConcurrencySequential
PersistenceNo  


Assigned ComponentsRACE


Operations
NameSignatureClass
RACE_QLS_MessageSizeSum--Not Named-- RACE_QLS_MessageSizeSum (size_t low_watermark, size_t high_watermark)RACE_QLS_MessageSizeSum
~RACE_QLS_MessageSizeSum--Not Named-- <<virtual>> ~RACE_QLS_MessageSizeSum ()RACE_QLS_MessageSizeSum
can_enqueuebool <<virtual>> can_enqueue ()RACE_QLS_MessageSizeSum
is_fullbool <<virtual>> is_full ()RACE_QLS_MessageSizeSum
RACE_QueueLevelStrategy--Not Named-- RACE_QueueLevelStrategy ()RACE_QueueLevelStrategy
resetvoid reset ()RACE_QueueLevelStrategy
addvoid add (size_t cur_size, size_t cur_length)RACE_QueueLevelStrategy
removevoid remove (size_t cur_size, size_t cur_length)RACE_QueueLevelStrategy
countsize_t count ()RACE_QueueLevelStrategy
size_sumsize_t size_sum ()RACE_QueueLevelStrategy
length_sumsize_t length_sum ()RACE_QueueLevelStrategy
is_emptybool is_empty ()RACE_QueueLevelStrategy
can_enqueuebool <<abstract>> can_enqueue ()RACE_QueueLevelStrategy
is_fullbool <<abstract>> is_full ()RACE_QueueLevelStrategy
is_critical_watermark_reachedbool <<virtual>> is_critical_watermark_reached ()RACE_QueueLevelStrategy
GetQueueNameconst char * <<virtual>> GetQueueName ()RACE_QueueLevelStrategy
critical_watermark_alarmvoid <<virtual>> critical_watermark_alarm ()RACE_QueueLevelStrategy
GetCurrentEnqueueTimeoutACE_Time_Value * <<virtual>> GetCurrentEnqueueTimeout ()RACE_QueueLevelStrategy
GetCurrentDequeueTimeoutACE_Time_Value * <<virtual>> GetCurrentDequeueTimeout ()RACE_QueueLevelStrategy
~RACE_QueueLevelStrategy--Not Named-- <<virtual>> ~RACE_QueueLevelStrategy ()RACE_QueueLevelStrategy


Attributes
NameClassTypeInitial Value
low_watermark_RACE_QLS_MessageSizeSumsize_t 
high_watermark_RACE_QLS_MessageSizeSumsize_t 
cur_sizesum_RACE_QueueLevelStrategysize_t 
cur_lengthsum_RACE_QueueLevelStrategysize_t 
cur_count_RACE_QueueLevelStrategysize_t 
critical_watermark_triggeredRACE_QueueLevelStrategybool 


Associations
NameMy RoleMy ClassOther RoleOther Element
--Not Named--qls_RACE_QueueLevelStrategy--Not Named--RACE_Message_Queue


Generalization Relationships
NameClassSupplier
--Not Named--RACE_QLS_MessageSizeSumRACE_QueueLevelStrategy