Size: a a a

2021 March 04

m

mAX in Rust Async
antuan
deno?)))
у меня так исторически сложилось)
но вообще надо изучать! Спасибо)
источник

MB

Mikail Bagishov in Rust Async
Возможность прибивать футуры, отслеживать их количество и т.д. от такого стирания никуда не денется. Единственное, что ты потеряешь - это type-safe способ из растового кода увидеть результат футуры. Но тебе это почти наверняка и не нужно.
источник

m

mAX in Rust Async
Mikail Bagishov
Возможность прибивать футуры, отслеживать их количество и т.д. от такого стирания никуда не денется. Единственное, что ты потеряешь - это type-safe способ из растового кода увидеть результат футуры. Но тебе это почти наверняка и не нужно.
Понятно, спасибо! нужно разобраться!
вообще обертку с АПИ для скриптов я хотел как-то разделить от рантайма.. идея была сначала заюзать wasm для выполнения кода скриптов/плагинов, но там проблем достаточно.. я не смог быстро прототипчик удобный сделать
так что взял свои старые демки на jerry и решил их прикрутить
источник

m

mAX in Rust Async
ну и плюс на wasm все жирное.. бинарники весят жутко, а js все знают
источник

m

mAX in Rust Async
antuan
deno?)))
на днях гуглил насчет js движка для раста.. и как-то Deno мне не попался, совсем)
потратил несколько часов на биндинги и обетки чтобы старые демки сишные переписать на раст
старнно вообще.. вроде бы живой большой проект, как я на него не наткнулся)
источник

m

mAX in Rust Async
но это, я так, понимаю, биндинги поверх v8?
источник

DN

Denis Nevmerzhitskii in Rust Async
mAX
но это, я так, понимаю, биндинги поверх v8?
rusty_v8  - это биндинги, а deno - runtime
источник
2021 March 07

К

Крывашек in Rust Async
mAX
не понятно все равно.. можно как-то сохранять джойны с произвольным типом для того чтобы потом .abort() вызвать?
.boxed() из futures::FutureExt не подходит?
источник
2021 March 08

IG

Ilyas Gasanov in Rust Async
Напомните плиз, можно ли использовать return внутри async {…} блока, как внутри замыкания?
источник

в🧇

вафель 🧇 in Rust Async
Ilyas Gasanov
Напомните плиз, можно ли использовать return внутри async {…} блока, как внутри замыкания?
Насколько я помню — можно
источник

IG

Ilyas Gasanov in Rust Async
А то я тут пишу приблуду вот такого плана:

let handle = tokio::spawn(async {
   loop {
       match pool.get_handle().await {

           Ok(h) => return h,

           Err(e) => {
               error!(log, "Failed to get handle: {}", e);
               tokio::time::sleep(Duration::from_secs(5)).await;
           }

       }
   }
});

do_some_other_stuff();

let handle = handle.await;
источник

IG

Ilyas Gasanov in Rust Async
Всё это внутри for_each_concurrent на стриме ресивера flume, если что. 🙂
источник

IG

Ilyas Gasanov in Rust Async
Только дёргается не каждый раз, а когда по логике нужно flush в базу сделать.)
источник

IG

Ilyas Gasanov in Rust Async
И да, всё целиком внутри однопоточного рантайма. Остальные потоки и так rayon занимает.)
источник

IG

Ilyas Gasanov in Rust Async
Хотя правильнее, наверное, было бы для флашей в базу использовать отдельный таск со своим каналом.
источник
2021 March 10

IG

Ilyas Gasanov in Rust Async
Ещё вопрос знатокам — а можно ли явно задать лайфтайм футуре, возвращаемой из async fn? А то хочется всё же кормить таковой !'static референсы, вместо того чтобы ваять «clone() на clone() и clone()ом погоняет». ))
источник

IG

Ilyas Gasanov in Rust Async
Можно конечно сделать возврат
impl Future<Output = T> + 'a
и async перенести в тело, но в то же время очень хочется сахарку.)
источник

D

Denis in Rust Async
Ilyas Gasanov
Можно конечно сделать возврат
impl Future<Output = T> + 'a
и async перенести в тело, но в то же время очень хочется сахарку.)
а как ещё-то? )
источник

DF

Dollar Føølish in Rust Async
вроде бы рантайм же сам требует статик футуры?
источник

DF

Dollar Føølish in Rust Async
для не статик футур нужен не-статик рантайм нет?
источник