Function fd::splice_loop
[−]
[src]
pub fn splice_loop(do_flush: Arc<AtomicBool>, flush_event: Option<Sender<()>>, fd_in: RawFd, fd_out: RawFd)
Loop while reading and writing from one file descriptor to another using splice(2)
.
The loop stop when do_flush
is set to true
.
At the end, a flush event is send to flush_event
if any.
This function should be used in a dedicated thread, e.g. thread::spawn(move || splice_loop(do_flush, None, rx.as_raw_fd(), tx.as_raw_fd()))
.