Size: a a a

2021 May 18

KS

Kristina Ste in Rust Async
А не, я неправа, он замирает на read, когда нет входного стрима
источник

П

Пух in Rust Async
А должен что делать?
источник

KS

Kristina Ste in Rust Async
Ну, в питоне recv по барабану, есть ли стрим или нет :) В общем, мне нужно чтобы read чекал, есть ли входящий стрим, и если нет, переходил к следующей задаче. Я так понимаю, что AsyncReadExt так не работает. Вопрос, как быть?
источник

П

Пух in Rust Async
Спавнить таску
источник

П

Пух in Rust Async
Ну в плане если сервер, то на каждого клиента спавнить таску
источник

П

Пух in Rust Async
Правда если у тебя сервер, то изначально сокет какой-то не оч правильный
источник

П

Пух in Rust Async
Там надо через bind и accept
источник

K

Kitsu in Rust Async
Тебе не надо проверять, есть ли что-то читать или нет, за тебя это сделает await
источник

П

Пух in Rust Async
А если клиент, то я хз к какой другой таске надо переходить
источник

ph

pl 🦑 hk in Rust Async
источник

KS

Kristina Ste in Rust Async
Сложно объяснить, вкратце, клиент передает данные серверу, которые ему поступают через стороннее апи. И клиент не получит входные данные от сервера, пока не перешлет ему таску, взятую с этой апи.
источник

П

Пух in Rust Async
Тогда перед следующим чтением мб скидывать?
источник

П

Пух in Rust Async
Или таски пофиг в каком порядке и их можно одновременно обрабатывать?
источник

KS

Kristina Ste in Rust Async
Хм, возможно что это то, что мне надо.
источник

KS

Kristina Ste in Rust Async
Типа, делать запрос к апи до и после чтения входящего стрима? Возможно сработает, но как-то не очень красиво звучит.
источник

П

Пух in Rust Async
Если надо слушать одновременно два потока данных, то select, если нет, то я ничего не понимаю)
источник

KS

Kristina Ste in Rust Async
if incoming_stream {
   get_data;
   send_to_api; }
   else {
    check_api_for_tasks;
    send_task_to_server; }
   anyway_check_api_for_tasks
   send_task_to_server
источник

KS

Kristina Ste in Rust Async
Да, это наверное подходит под «слушать два потока данных»
источник

KS

Kristina Ste in Rust Async
В общем, пойду прилаживать select. Отпишусь по результатам. Спасибо, ребята.
источник
2021 May 19

F

Fortunato in Rust Async
Суть примера: мне нужно использовать future_handler в ветке sleep_future. Почему здесь обязателен pin_mut!() (если его расскомментить, то код компилируется)? JoinHandle ведь сам по себе Unpin
https://play.rust-lang.org/?version=stable&mode=debug&edition=2018&gist=263bf087885859ee56e0258fb3532ef4
источник