Size: a a a

2021 January 14

MB

Mikail Bagishov in Rust Async
I/O это уже просто сайд-эффекты, которые уважающий себя ДКА не делает
источник

MB

Mikail Bagishov in Rust Async
Mikail Bagishov
И наверное, можно передавать кастомные данные под видом контекста
Ну да, трансмьютим Waker в RawWaker. Из его дебажного вывода извлекаем указатель на данные. Из этого указателя читаем нужные данные.
источник

D

Denis in Rust Async
.. а потом запускаем на другом экзекуторе и получаем UB )))
источник

MB

Mikail Bagishov in Rust Async
Denis
.. а потом запускаем на другом экзекуторе и получаем UB )))
Можно указатель на vtable валидировать
источник

f

folex in Rust Async
https://doc.rust-lang.org/beta/unstable-book/language-features/generators.html фьючи вот на этом внутри реализованы?
источник

f

folex in Rust Async
> Generators can capture outer variables by reference or by move, and this can be tweaked with the move keyword at the beginning of the closure. Like closures all generators will have an implicit environment which is inferred by the compiler. Outer variables can be moved into a generator for use as the generator progresses

Дока тоже через замыкания это объясняет
источник

m

magras in Rust Async
Mikail Bagishov
Генераторы принимают явный вход.
Это интересная информация, спасибо.

Видимо оно было реализовано в рамках вот этого предложения. В официальной документации к трейту Generator, к сожалению, нет описания того как используется параметр arg.
источник

MB

Mikail Bagishov in Rust Async
Параметр arg передается напрямую коду генератора. Он используется так, как генератор хочет.

В случае генераторов созданных из async блоков и функуций, при резьюме они принимают на вход указатель на контекст.
источник

DF

Dollar Føølish in Rust Async
А кто нибудь знает зачем на генераторы переделали в итоге ?
источник

АГ

Алексей Герасимов... in Rust Async
возможно чтобы когда их стабилизируют не поддерживать два механизма, которые по сути одно и то же реализуют
источник
2021 January 15

IL

Ilya Lakhin in Rust Async
Привет! А как в tokio::time::Instant получить миллисекунды?
источник

PP

Pavel Perestoronin in Rust Async
Ilya Lakhin
Привет! А как в tokio::time::Instant получить миллисекунды?
var.elapsed().as_millis()?
источник

r

red75prime in Rust Async
Ilya Lakhin
Привет! А как в tokio::time::Instant получить миллисекунды?
Никак. "There is no method to get "the number of seconds" from an instant." Можно только получить время между двумя Instant'ами.
источник

IL

Ilya Lakhin in Rust Async
А как получить, чтобы с начала эпохи Юникс?
источник

r

red75prime in Rust Async
Есть from_std, есть  std::time::UNIX_EPOCH.
источник

PP

Pavel Perestoronin in Rust Async
red75prime
Никак. "There is no method to get "the number of seconds" from an instant." Можно только получить время между двумя Instant'ами.
А я не очень тогда понимаю, что elapsed делает? Разве он не как стандартный Instant работает?
источник

PP

Pavel Perestoronin in Rust Async
источник

IL

Ilya Lakhin in Rust Async
А, то есть я делаю, например, into_std, и потом делаю elapsed по UNIX_EPOCH?
источник

r

red75prime in Rust Async
Pavel Perestoronin
А я не очень тогда понимаю, что elapsed делает? Разве он не как стандартный Instant работает?
Дает Instant::now() - some_instant
источник

PP

Pavel Perestoronin in Rust Async
red75prime
Дает Instant::now() - some_instant
аааа, вопрос был в том, чтобы получить внутреннее поле... Я понял... Прошу прощения
источник