Size: a a a

2021 October 26

LB

Let Eat Bee in Rust Async
я так этот баг и раскопал. внутри mega_complex_future спавнил таск, но до этого были несколько await. пока чесал репу двигал туда сюда  и менялось поведение.
источник

D

Denis in Rust Async
дыа, вообще говоря асинхронное программирование имеет, так сказать, подводные камни
источник

LB

Let Eat Bee in Rust Async
а есть какой-нибудь врапер, что б логировать дропы? мне б помог
источник

D

Denis in Rust Async
чтоб сразу автоматом всё покрыть — боюсь так не получится, но можно за минуту написать враппер, который вручную можно будет к футурам присоединять
источник

ph

pl 🦑 hk in Rust Async
Берешь &mut и ниче не дропается
источник

D

Denis in Rust Async
с генераторами не прокатит (т.е. async-блоками или async fn), ибо они !Unpin, но в принципе можно ж забоксить :)
источник

D

Denis in Rust Async
но один фиг они сами поллиться-то не будут после выхода из select! в любом случае )
источник

ph

pl 🦑 hk in Rust Async
источник

D

Denis in Rust Async
источник

D

Denis in Rust Async
единственное что, в результате select'а обе фьючи могут "завершиться", и тогда повторный вызов await'а может привести, например, к панике, FusedFuture во спасение
источник
2021 October 30

П

Пух in Rust Async
Разве могут?
источник

D

Denis in Rust Async
хм, пожалуй всё-таки нет, они ж по очереди выполняются
источник

LB

Let Eat Bee in Rust Async
спасибо, про это в cancellation доке опять же ни слова. а для чего там pin? внутри селекта уже делают пин перед await, почему снаружи тоже надо?
источник

D

Denis in Rust Async
Попробуй сделать без пина и увидишь, зачем он)
источник

V

Vetro in Rust Async
Почему ни один сервер в расте не поддерживает h2c с апгрейдом от h1.1?
источник

V

Vetro in Rust Async
:(
источник
2021 October 31

KB

Kirill Bulatov in Rust Async
А пользовался кто-нибудь tokio::io::split для того, чтобы одновременно писать в writer и читать из reader'а?

Пытаюсь сделать архив, в одном треде читаю fs и пишу всё в архив, а в main thread читаю из него всё и после первого io::copy_buf из архива, больше данных из него не получить, всё по 0, несмотря на то, что тред с записью честно всё молотит.

Что я делаю не так и как можно добиться одновременной записи и чтения?

https://play.rust-lang.org/?version=nightly&mode=debug&edition=2021&gist=c4032537b18c924dd48fe253789fe737
источник

D

Denis in Rust Async
использовал сплит сто раз, всё работает
источник

KB

Kirill Bulatov in Rust Async
Хм, ок, гляну, что там не так с архивированием, спасибо.
источник

D

Denis in Rust Async
tracing to the rescue
источник