Size: a a a

2021 February 19

f

folex in Rust Async
fuse он же спасает от того чтобы завершенную фьючу второй раз не заполлить
источник

f

folex in Rust Async
чтобы паника не вылетела
источник

MB

Mikail Bagishov in Rust Async
folex
fuse он же спасает от того чтобы завершенную фьючу второй раз не заполлить
Да, но это и не может случиться если ты муваешь футуру внутрь селекта
источник

С

Сергей in Rust Async
Посмотри на abortable из future вместо tokio, может там корректно будет.
источник

f

folex in Rust Async
Mikail Bagishov
Да, но это и не может случиться если ты муваешь футуру внутрь селекта
всмысле что он сам следит чтобы фьюча не поллилась если уже вернула Ready?
источник

f

folex in Rust Async
мхм
источник

MB

Mikail Bagishov in Rust Async
folex
всмысле что он сам следит чтобы фьюча не поллилась если уже вернула Ready?
Да
источник

f

folex in Rust Async
то есть токиовский селект сам loop делает?
источник

f

folex in Rust Async
прикольно! Посмотрю на него
источник

f

folex in Rust Async
надеюсь он норм работает с фьючами, запущенными из async_std :)
источник

MB

Mikail Bagishov in Rust Async
folex
то есть токиовский селект сам loop делает?
Ну почти, только не loop а poll_fn().await: https://github.com/tokio-rs/tokio/blob/master/tokio/src/macros/select.rs#L354
источник

MB

Mikail Bagishov in Rust Async
select из futures тоже по циклу поллит переданные футуры, пока какая-нибудь не завершится
источник

f

folex in Rust Async
угу. А если надо дождаться чтобы все завершились, то loop { select!() }, и потому fused
источник

f

folex in Rust Async
afaict
источник

С

Сергей in Rust Async
folex
угу. А если надо дождаться чтобы все завершились, то loop { select!() }, и потому fused
лучше future::FuturesUnordered
источник

f

folex in Rust Async
Сергей
лучше future::FuturesUnordered
FuturesUnordered не дает паттерн-матч-like синтаксиса
источник

f

folex in Rust Async
select! {
  e = stream.select_next_some() => {
     // foo(e)
  },
  _ = fused_future,
  e = another_one => {
    // bar(e)
  }
}
источник

f

folex in Rust Async
вот так с FuturesUnordered не выйдет сделать. Можно то же самое руками написать на poll_fn, и обойтись без loop, но это сложный путь
источник

f

folex in Rust Async
могу быть неправ :)
источник

F

Fortunato in Rust Async
А я правильно понимаю, что стейбл расте сейчас нельзя внутри замыкания вызвать что-то с .await?
источник