Size: a a a

2021 March 15

m

mAX in Rust Async
Mikail Bagishov
Ну и кстати я вот не могу сходу придумать кейс, когда вейкер точно знает, что пробудить футуру надо через такой-то промежуток, и ты при этом не пишешь собственый  таймер :)
заворачиваю декодер ffmpeg в async/await
он не умеет асинхронно из коробки, там нету коллбека на получение новых данных на выходе, ну или я не нашел..
нужно дергать самому метод и он скажет готовы или нет декодированные данные
метод неблокирующий, дергать постоянно не хочется чтобы не грузить CPU на 100% тем более видосики обычно 15-25fps
проверять чуть ниже fps и норм вроде бы..
можно проверять, конечно, когда данные на вход есть, но так задержка растет и детектор движения камер иногда поток отрубает, так что можно словить иногда большую задержку для такого случая
источник

MB

Mikail Bagishov in Rust Async
Ого какой костыль
источник

DF

Dollar Føølish in Rust Async
Ага
источник

DF

Dollar Føølish in Rust Async
Не понимаю выгоды от заворачивания в авейты
источник

m

mAX in Rust Async
блин, может я все же не разобрался..
вот на андройде декодер завернулся легко и вроде бы логично) но там был коллбек)
источник

DF

Dollar Føølish in Rust Async
Также не понимаю как такая вещь как декодер которая не делает ио должна работать асинхронно
источник

MB

Mikail Bagishov in Rust Async
Dollar Føølish
Также не понимаю как такая вещь как декодер которая не делает ио должна работать асинхронно
Вот да, он фоновый тред что ли запускает?
источник

r

red75prime in Rust Async
Dollar Føølish
Не понимаю выгоды от заворачивания в авейты
А её и нет, если нет способа сделать wake по событию.
источник

DF

Dollar Føølish in Rust Async
+++
источник

m

mAX in Rust Async
да у меня просто все остальное на async await
мне встроить в существующий пайплайн хочется удобно
источник

DF

Dollar Føølish in Rust Async
Делай спавн треда и жди
источник

DF

Dollar Føølish in Rust Async
На тредпуле рантайма
источник

r

red75prime in Rust Async
Я в таких случаях делаю channel из синхронной в асинхронную часть.
источник

m

mAX in Rust Async
да, спасибо! надо попоробовать.. демка в один поток работает отлично, наверное проще прикрутить tx/rx поверх отдельного потока
источник

D

Denis in Rust Async
Не надо забывать про spawn blocking
источник
2021 March 16

F

Fortunato in Rust Async
Как можно запустить несколько фьюч и узнать потом, какая выполнилась первой?
источник

K

Kitsu in Rust Async
select + join?
источник

D

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

F

Fortunato in Rust Async
Вот как futures::join_all(), только возврат в порядке выполнения
источник

D

Denis in Rust Async
надо их параллельно запустить?
источник