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