Size: a a a

2020 October 01

MB

Mikail Bagishov in Rust Async
Max
А разве блокирующий тред пул не отдельно от основного работает?
По-моему вопрос был именно про количество потоков для работы футур.
Блокирующий скейлится динамически емнип
источник

ph

pl 🦑 hk in Rust Async
max_threads = core_threads + blocking
источник

в🧇

вафель 🧇 in Rust Async
скорее max_blocking
источник
2020 October 02

в🧇

вафель 🧇 in Rust Async
Хм, а что лучше использовать чтобы одна фьюча дождалась "флажка" от другой?

oneshot::Receiver<!> или sync::Notify? (tokio)
источник

АГ

Алексей Герасимов... in Rust Async
! же нельзя создать, () скорее
источник

в🧇

вафель 🧇 in Rust Async
Алексей Герасимов
! же нельзя создать, () скорее
Посылать Drop'ом
источник

АГ

Алексей Герасимов... in Rust Async
а
источник

MB

Mikail Bagishov in Rust Async
вафель 🧇
Хм, а что лучше использовать чтобы одна фьюча дождалась "флажка" от другой?

oneshot::Receiver<!> или sync::Notify? (tokio)
Именно флажка или сигнала о завершении?
источник

в🧇

вафель 🧇 in Rust Async
Mikail Bagishov
Именно флажка или сигнала о завершении?
Флажка.

Условно фьюча говорит что хочет исполнится и ждёт пока другая (долго живущая) фьюча ей разрешит
источник

MB

Mikail Bagishov in Rust Async
Такое можно и семафором реализовать
источник

в🧇

вафель 🧇 in Rust Async
Mikail Bagishov
Такое можно и семафором реализовать
Мне кажется Notify проще, всё же у меня permit всегда 1
источник
2020 October 03

KK

Kirill (Cykooz) Kuzm... in Rust Async
А почему в actix-web различные методы и врапперы, принимающие стримы, не требуют что бы эти стримы были Send + Sync? Актикс никогда не мувает данные между тредами?
Мне пришлось заюзать в проекте на actix-web крейт, который использует hyper. И я столкнулся с тем, что не могу в него передать стрим полученный от актикса, потому что там требуется Send + Sync.
источник

MB

Mikail Bagishov in Rust Async
actix-web использует однотредовый рантайм и поэтому нигде не требует Send + Sync и сам не реализует
источник

KK

Kirill (Cykooz) Kuzm... in Rust Async
Ок, так и подумал. Ещё один повод отказаться от этого крейта с hyper, и самому написать на actix-е что нужно.
источник

G

George in Rust Async
Mikail Bagishov
actix-web использует однотредовый рантайм и поэтому нигде не требует Send + Sync и сам не реализует
Однотредовый? Прямо строго Однотредовый? Сейчас облазил сайт и не нашёл статьи об этом в user guide. Про аппу, про сервер есть, но про рантайм и возможность смены - не вижу. Там же можно выбрать сколько процессов запускать
источник

MB

Mikail Bagishov in Rust Async
George
Однотредовый? Прямо строго Однотредовый? Сейчас облазил сайт и не нашёл статьи об этом в user guide. Про аппу, про сервер есть, но про рантайм и возможность смены - не вижу. Там же можно выбрать сколько процессов запускать
Ну точнее, там создается много однотредовых рантаймов, каждый на своем потоке.
источник

G

George in Rust Async
То есть актикс держит ровно N обработчиков, никогда не плодя новые, и иную стратегию выбрать нельзя?
источник

MB

Mikail Bagishov in Rust Async
Я не настолько знаю кишки актикса. Возможно, ты можешь управлять количеством потоков.
В данном случае интересно только то, что актикс использует однотредовые рантаймы.
источник

G

George in Rust Async
Понятно.
А в чём отличие rustls от openssl? Для конечного пользователя библиотеки.
источник

MB

Mikail Bagishov in Rust Async
rustls написана на чистом расте, openssl тянет за собой сишный код.
С другой стороны, у openssl больше фич по-моему.
источник