Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Модуль stream

Источник: Документация futures-lite::stream

Комбинаторы для трейта Stream.

Примеры

#![allow(unused)]
fn main() {
use futures_lite::stream::{self, StreamExt};

let mut s = stream::iter(vec![1, 2, 3]);

assert_eq!(s.next().await, Some(1));
assert_eq!(s.next().await, Some(2));
assert_eq!(s.next().await, Some(3));
assert_eq!(s.next().await, None);
}

Структуры

СтруктураОписание
AllFutureФьючерс для метода StreamExt::all()
AnyFutureФьючерс для метода StreamExt::any()
BlockOnИтератор для функции block_on()
ChainПоток для метода StreamExt::chain()
ClonedПоток для метода StreamExt::cloned()
CollectFutureФьючерс для метода StreamExt::collect()
CopiedПоток для метода StreamExt::copied()
CountFutureФьючерс для метода StreamExt::count()
CycleПоток для метода StreamExt::cycle()
DrainПоток для метода StreamExt::drain()
EmptyПоток для функции empty()
EnumerateПоток для метода StreamExt::enumerate()
FilterПоток для метода StreamExt::filter()
FilterMapПоток для метода StreamExt::filter_map()
FindFutureФьючерс для метода StreamExt::find()
FindMapFutureФьючерс для метода StreamExt::find_map()
FlatMapПоток для метода StreamExt::flat_map()
FlattenПоток для метода StreamExt::flatten()
FoldFutureФьючерс для метода StreamExt::fold()
ForEachFutureФьючерс для метода StreamExt::for_each()
FuseПоток для метода StreamExt::fuse()
InspectПоток для метода StreamExt::inspect()
IterПоток для функции iter()
LastFutureФьючерс для метода StreamExt::last()
MapПоток для метода StreamExt::map()
NextFutureФьючерс для метода StreamExt::next()
NthFutureФьючерс для метода StreamExt::nth()
OnceПоток для функции once()
OnceFutureПоток для функции once_future()
OrПоток для функции or() и метода StreamExt::or()
PartitionFutureФьючерс для метода StreamExt::partition()
PendingПоток для функции pending()
PollFnПоток для функции poll_fn()
PositionFutureФьючерс для метода StreamExt::position()
RaceПоток для функции race() и метода StreamExt::race()
RepeatПоток для функции repeat()
RepeatWithПоток для функции repeat_with()
ScanПоток для метода StreamExt::scan()
SkipПоток для метода StreamExt::skip()
SkipWhileПоток для метода StreamExt::skip_while()
StepByПоток для метода StreamExt::step_by()
TakeПоток для метода StreamExt::take()
TakeWhileПоток для метода StreamExt::take_while()
ThenПоток для метода StreamExt::then()
TryCollectFutureФьючерс для метода StreamExt::try_collect()
TryFoldFutureФьючерс для метода StreamExt::try_fold()
TryForEachFutureФьючерс для метода StreamExt::try_for_each()
TryNextFutureФьючерс для метода StreamExt::try_next()
TryUnfoldПоток для функции try_unfold()
UnfoldПоток для функции unfold()
UnzipFutureФьючерс для метода StreamExt::unzip()
ZipПоток для метода StreamExt::zip()

Трейты

ТрейтОписание
StreamПоток значений, производимых асинхронно
StreamExtТрейт-расширение для Stream

Функции

ФункцияОписание
block_onПреобразует поток в блокирующий итератор
emptyСоздает пустой поток
iterСоздает поток из итератора
onceСоздает поток, который выдает один элемент
once_futureСоздает поток, который вызывает заданный фьючерс как свой первый элемент, а затем больше не производит элементов
orОбъединяет два потока, предпочитая элементы из stream1, когда оба потока готовы
pendingСоздает поток, который всегда находится в состоянии ожидания
poll_fnСоздает поток из функции, возвращающей Poll
raceОбъединяет два потока без предпочтений, когда оба готовы
race_with_seedСоревнует два потока, но с предоставленным пользователем сидом для случайности
repeatСоздает бесконечный поток, который повторно выдает один и тот же элемент
repeat_withСоздает бесконечный поток из замыкания, генерирующего элементы
try_unfoldСоздает поток из начального значения и замыкания с возможностью ошибки, работающего с ним
unfoldСоздает поток из начального значения и асинхронного замыкания, работающего с ним

Псевдонимы типов

ПсевдонимОписание
BoxedПсевдоним типа для Pin<Box<dyn Stream<Item = T> + Send + 'static>>
BoxedLocalПсевдоним типа для Pin<Box<dyn Stream<Item = T> + 'static>>