pub async fn async_transfer<T, As: AsyncConsumer<Item = T>, Ad: AsyncProducer<Item = T>>(
src: &mut As,
dst: &mut Ad,
count: Option<usize>,
) -> usize
Expand description
Tranfer data from one ring buffer to another.
count
is the number of items to transfer.
The number of actually transfered items is returned.
If count
is Some(n)
then exactly n
items will be transfered on completion
except the situation when src
or dst
is closed or the future is dropped before completion.
If count
is None
then transfer will be performed until the one or another ring buffer is closed.
Transfer also safely stopped if the future is dropped.