RemoteChannel for multiple-producer multiple-consumer

Suppose I have multiple processes writing into a single RemoteChannel, and multiple processes reading from it.

Is that an expected “reasonable” use of a RemoteChannel?

If not, is there a better approach?

If yes, is it efficient? E.g., is each message sent directly from writer to reader, or is each message first sent to the process which created the RemoteChannel, and only then to the reader?

Finally, is it possible to take an item from a RemoteChannel if it is not empty, but return immediately if it is currently empty? That is, something like a try_take! function? Calling isready followed by take! doesn’t work since another process may steal the item between calling isready and take!, and locking the RemoteChannel isn’t supported (would also be very inefficient).