Size: a a a

Rust — русскоговорящее сообществo

2020 August 12

DK

Dmytro Kozlov in Rust — русскоговорящее сообществo
та, то я уже раз 10 переписывал, поэтому оставил наименование переменной)
источник

S

Sese in Rust — русскоговорящее сообществo
Здравствуйте. Есть такой вопрос. Мне нужно, чтобы запускался таймер, и по прошествии установленного времени выполнялся колбэк.
Как в этом примере (собирается только для wasm) - https://docs.rs/gloo-timers/0.2.1/gloo_timers/callback/struct.Timeout.html. Есть ли какие-нибудь готовые решения?
источник

AW

Alex Wow in Rust — русскоговорящее сообществo
Создал таймер
Запустил таймер
В методе ,который таймер исполняет раз в заданный интервал , вызываешь коллбек
Вместо таймера можно использовать потоки,циклы
источник

S

Sese in Rust — русскоговорящее сообществo
В смысле, есть ли что-то готовое не только для wasm, а для других платформ.
источник

BD

Berkus Decker in Rust — русскоговорящее сообществo
Zymlex (Юрий)
хм, вроде можно, но как теперь указать две зависимости, думаю это несёт проблемы...
rename есть в карго
источник

BD

Berkus Decker in Rust — русскоговорящее сообществo
а зачем тебе две версии?
источник

Z

Zymlex (Юрий) in Rust — русскоговорящее сообществo
Berkus Decker
а зачем тебе две версии?
Уже подсказали.
Новая не везде подходит, так как старые типы не сходятся.
источник

Z

Zymlex (Юрий) in Rust — русскоговорящее сообществo
хех, оказалось не имело смысла подключать устаревший kernel32-sys нужное уже есть в winapi крейте
источник

Э

Эрик in Rust — русскоговорящее сообществo
Sese
Здравствуйте. Есть такой вопрос. Мне нужно, чтобы запускался таймер, и по прошествии установленного времени выполнялся колбэк.
Как в этом примере (собирается только для wasm) - https://docs.rs/gloo-timers/0.2.1/gloo_timers/callback/struct.Timeout.html. Есть ли какие-нибудь готовые решения?
Это рантайм нужен какой-нибудь (tokio, smol или самописное что-то).
источник

Э

Эрик in Rust — русскоговорящее сообществo
Либо через unsafe пихать куда-нибудь в ОС-шедулер.
источник

Э

Эрик in Rust — русскоговорящее сообществo
Твой пример как раз пихает через unsafe.
источник

Э

Эрик in Rust — русскоговорящее сообществo
Вообще, свой таймер с коллбеком написать не проблема, если есть таймер без коллбека, оно укладывается в несколько строчек:

type CallbackTimer<F> = (smol::Timer, F);

impl<F> Future for CallbackTimer<F>
where
 F: FnOnce(),
{
 type Output = ();

 fn poll(mut self: Pin<&mut Self>, cx: &mut Context<'_>) -> Poll<Self::Output> {
   self.0.poll(cx).map(|_| { (self.1)(); } )
 }
}
источник

S

Sese in Rust — русскоговорящее сообществo
ох, хотелось бы без Futures обойтись, ну да ладно, будем думать. Спасибо за помощь!
источник

OA

Oleg Andreev in Rust — русскоговорящее сообществo
в будущем все работает через фьючерсы
источник

Э

Эрик in Rust — русскоговорящее сообществo
Oleg Andreev
в будущем все работает через фьючерсы
На васме там отдаётся в рантайм JS, кек. И там свои футурки внутри крутятся.
источник

OA

Oleg Andreev in Rust — русскоговорящее сообществo
это был каламбур, ну да ладно
источник

AV

Andrey Vlasov in Rust — русскоговорящее сообществo
Вафель
Не знаю...

Я на самом деле посмотрел sccache --show-stats и увидел что у меня у самого не работало...
Раньше у него был баг, что статы не сохранялись
источник

В

Вафель in Rust — русскоговорящее сообществo
Andrey Vlasov
Раньше у него был баг, что статы не сохранялись
лол
источник

В

Вафель in Rust — русскоговорящее сообществo
Мне что-то кажется что он всё равно не работает, а я даже не знаю что сделать
источник

AV

Andrey Vlasov in Rust — русскоговорящее сообществo
Коля🤔🎭
Поставил sccache через cargo.
Сделал RUSTC_WRAPPER и CARGO_BUILD_RUSTC_WRAPPER переменные в environment. При запуске cargo build; sccache не стартует. Я чего-то накосячил?
Пропиши лучше в ~/.cargo/config, как в туториале нагитхабе сказано
источник