Why does ACE_Message_Queue not provide the methods to dequeue multiple blocks #2064
smithAchang
started this conversation in
Ideas
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
-
ACE_Message_Block
has the capability to form a block chain.ACE_Message_Queue
provides the methods to enqueue multiple blocks. e.g. enqueue_head or enqueue_tail.But It does not provide the methods to dequeue multiple blocks :(
for the enqueue & dequeue api's symmetry and embodying the design principle of
ACE_Message_Block
I suggest
ACE_Message_Queue
implement the apis to dequeue multiple blocks.I think the enhanced apis will reduce the overhead of lock in some case with bach operation mode.
e.g.
dequeue_head_n(ACE_Message_Block *& first_item, size_t max_n, ACE_Time_Value * timeout = 0)
dequeue_tail_n(ACE_Message_Block *& dequeued, size_t max_n , ACE_Time_Value * timeout = 0)
Beta Was this translation helpful? Give feedback.
All reactions