3 ms·
Pipes are bytes Streams. Communication between actors as well as CSP channels are object streams. Pipes exercise backpressure on the writer - if the pipe is fu
by Matthias247 7y ago
Pipes are bytes Streams. Communication between actors as well as CSP channels are object streams.
Pipes exercise backpressure on the writer - if the pipe is full the writer is blocked. Actor systems mostly use seemingly unbounded queues. The sender will not get blocked.
- toast0 7y ago> Pipes exercise backpressure on the writer - if the pipe is full the writer is blocked. Actor systems mostly use seemingly unbounded queues. The sender will not get blocked. Erlang does suspend (block) processes that send to ports or nodes when the buffers for that get full; but not when sending to local processes. There used to be an optional reduction count punishment for senders when sending to messages with larger mailboxes, but it seems that may have been removed. I don't think it would be too hard to add a feature where sending to a local mailbox over a specified size caused the sender to be suspended, but tracking it might be a little difficult.