Attempts to consume all elements currently in the queue.
This function will block if no elements are available. Once at least one
element is available, the contents of
dst will be replaced with all
empty property is or becomes
true before data becomes
dst will be left untouched and
false is returned.