Items are queued by copying them rather than by reference (one can always queue a pointer, but think carefully before doing this !). The two interface procedures that we require are “send” and “receive”. Notice that each has a “timeout” which may range from 0 (don’t wait if the operation would fail to portMAX_DELAY to wait forever.