The send and receive operations themselves are flexible. For instance, when a message is sent to a mailbox,
the mailbox may be full. If the mailbox is not full, the message is copied to the mailbox, and the sending thread continues.
If the mailbox is full, the sending thread has four options: