Function timely::communication::allocator::zero_copy::tcp::send_loop

source ·
pub fn send_loop<S>(
    writer: S,
    sources: Vec<Sender<MergeQueue>>,
    process: usize,
    remote: usize,
    logger: Option<Logger<CommunicationEvent, CommunicationSetup>>
where S: Stream,
Expand description

Repeatedly sends messages into a TcpStream.

The intended communication pattern is a sequence of (header, message)^* for valid messages, followed by a header for a zero length message indicating the end of stream.

If writing to the stream fails, the send thread panics with a message that starts with “timely communication error:” in an attempt to take down the computation and cause the failures to cascade.