Skip to content

v1.3.0

Compare
Choose a tag to compare
@yoshuawuyts yoshuawuyts released this 13 Dec 08:52
2f09077

API Documentation

This patch introduces Stream::delay, more methods on DoubleEndedStream,
and improves compile times. Stream::delay is a new API that's similar to
task::sleep,
but can be passed as part of as stream, rather than as a separate block. This is
useful for examples, or when manually debugging race conditions.

Examples

let start = Instant::now();
let mut s = stream::from_iter(vec![0u8, 1]).delay(Duration::from_millis(200));

// The first time will take more than 200ms due to delay.
s.next().await;
assert!(start.elapsed().as_millis() >= 200);

// There will be no delay after the first time.
s.next().await;
assert!(start.elapsed().as_millis() <= 210);

Added

  • Added Stream::delay as "unstable" (#309)
  • Added DoubleEndedStream::next_back as "unstable" (#562)
  • Added DoubleEndedStream::nth_back as "unstable" (#562)
  • Added DoubleEndedStream::rfind as "unstable" (#562)
  • Added DoubleEndedStream::rfold as "unstable" (#562)
  • Added DoubleEndedStream::try_rfold as "unstable" (#562)
  • stream::Once now implements DoubleEndedStream (#562)
  • stream::FromIter now implements DoubleEndedStream (#562)

Changed

  • Removed our dependency on async-macros, speeding up compilation (#610)

Fixes

  • Fixed a link in the task docs (#598)
  • Fixed the UdpSocket::recv example (#603)
  • Fixed a link to task::block_on (#608)
  • Fixed an incorrect API mention in task::Builder (#612)
  • Fixed leftover mentions of futures-preview (#595)
  • Fixed a typo in the tutorial (#614)
  • <TcpStream as Write>::poll_close now closes the write half of the stream (#618)