Size: a a a

2021 October 23

KR

Kai Ren in Rust Async
Тогда не должно рвать без ошибки
источник

KR

Kai Ren in Rust Async
Либо прилететит Err(ConnectionClosed) либо Err(Io(…)) и только потом None. Мне кажется так
источник

V

Vladyslav Batyrenko in Rust Async
Тоже так думаю. Спс
источник

LB

Let Eat Bee in Rust Async
Блин, этот вебсокет и sink и stream одновременно. Ппц как неудобно, все StreamExt комбинаторы любят владеть стримом внутри , от этого нельзя сделать select!  на чтение и на запись одновременно
источник

V

Vladyslav Batyrenko in Rust Async
У него есть split, который решает проблему )
источник

D

Denis in Rust Async
Stream имплементирован для &mut T, где T имплементит Stream (ну и Unpin)
источник

D

Denis in Rust Async
ну и сплит уже упомянули, да
источник

D

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

V

Vladyslav Batyrenko in Rust Async
источник

V

Vladyslav Batyrenko in Rust Async
похоже, поиск не очень работает с методами, которые от реализованных трейтов приходят
источник

V

Vladyslav Batyrenko in Rust Async
особенно, если этот трейт не ре-экспортится
источник

D

Denis in Rust Async
а, блин, это из StreamExt, туплю, соре
источник
2021 October 24

LB

Let Eat Bee in Rust Async
Вот это даа, как я пропустил то :) посмотрел внутри , там BiLock, который не даёт poll на внутреннем sink+stream вызвать одновременно. Если  у меня и то и то в  одном select! (т.е. в одном потоке в любом случае), то можно просто в  RefCell обернуть и склонировать получается?
источник

D

Denis in Rust Async
1) с RefCell можно забыть про многопоточность, такую футуру в многопоточном токио уже не заспавнить
2) так чем сплит-то не подходит? select по очереди поллит футурки, ему BiLock не помешает же
источник

V

Vladyslav Batyrenko in Rust Async
А есть ли в Rust крейты для кроссплатформенных вебсокетов? Чтобы клиент работал как на обычных платформах, так и в WASM
источник

V

Vladyslav Batyrenko in Rust Async
Я нашел только
https://github.com/najamelan/ws_stream_tungstenite
https://github.com/najamelan/ws_stream_wasm

Но выглядит оно как-то не очень. И все-таки это 2 отдельных крейта, с разными интерфейсами, несмотря на их близкость
источник

LB

Let Eat Bee in Rust Async
1) почему? вся футура всегда в одном треде ж (если spawn не делает где-то)
2) BiLock не помешает, но и не нужен же тоже, так?
источник

П

Пух in Rust Async
футура вообще не всегда в одном треде
источник

LB

Let Eat Bee in Rust Async
как это? она целиком в одном. ну может переехать разве что
источник

П

Пух in Rust Async
Куда ее планировщик пихнет, там и будет исполняться
источник