Size: a a a

2020 August 26

KR

Kai Ren in Rust Async
Дока Fixes anything. - эта пять.
источник

KR

Kai Ren in Rust Async
А по факту: у токио же вроде были свои из-коробочные compat'ы.
источник

K

Kerrigan in Rust Async
еее, манкипатчинг в расте
источник

K

Kitsu in Rust Async
прям готовый мем, хах
источник

DS

Danieλ Sλapman in Rust Async
Всем привет. В futures 0.1.x был метод futures_unordered, собиравщий вектор фьюч во фьючу с вектором. Пытаюсь сделать так-же в 0.3.5 - крейт перелопачен, растдок отсылает к функции collect в найтли билдах. Нет ли другого способа для стабильного раста?
источник

Ct

Casual tears in Rust Async
Danieλ Sλapman
Всем привет. В futures 0.1.x был метод futures_unordered, собиравщий вектор фьюч во фьючу с вектором. Пытаюсь сделать так-же в 0.3.5 - крейт перелопачен, растдок отсылает к функции collect в найтли билдах. Нет ли другого способа для стабильного раста?
источник

Ct

Casual tears in Rust Async
То что там линк на найтли доки не означает что оно не stable (:
источник

V

Vetro in Rust Async
источник

V

Vetro in Rust Async
Бл не успел
источник

V

Vetro in Rust Async
(((
источник

DS

Danieλ Sλapman in Rust Async
я конкретно про вот этот метод https://doc.rust-lang.org/nightly/core/iter/trait.Iterator.html#method.collect
источник

DS

Danieλ Sλapman in Rust Async
и правда, в стабильной версии есть https://doc.rust-lang.org/stable/core/iter/trait.Iterator.html#method.collect
источник

DS

Danieλ Sλapman in Rust Async
спасибо!
источник

DS

Danieλ Sλapman in Rust Async
А можно для FuturesUnordered указать тредпул, на котором эти фьючи выполять? Я вообще не очень понял, что происходит, вызов .collect::<FuturesUnordered<_>>().collect::<Vec<_>>() собрал мне сразу вектор, хотя я ожидал вектор внутри фьючи
источник

DS

Danieλ Sλapman in Rust Async
получается, это всё выполнится на текущем треде?
источник

V

Vetro in Rust Async
Danieλ Sλapman
А можно для FuturesUnordered указать тредпул, на котором эти фьючи выполять? Я вообще не очень понял, что происходит, вызов .collect::<FuturesUnordered<_>>().collect::<Vec<_>>() собрал мне сразу вектор, хотя я ожидал вектор внутри фьючи
На дефолтном тредпуле рантайма и выполнится
источник

DS

Danieλ Sλapman in Rust Async
окей, а насильно скормить другой тредпул нельзя?
источник

V

Vetro in Rust Async
Зачем?
источник

DS

Danieλ Sλapman in Rust Async
Чисто в образовательных целях 😅
источник

KK

Kirill (Cykooz) Kuzm... in Rust Async
Kirill (Cykooz) Kuzminykh
А это нормально, что tokio создаёт кучу тредов в actix-web (наверное по треду на каждый конект)? Мне казалось что в асинхронке как раз должно в основном всё работать в небольшом числе тредов. И то преимущественно треды должны использоваться для блокирующих операций.
Разобрался в чём проблема. Я в веб-серере на actix-web использую S3-клиент из крейта rusoto_s3. Он в свою очередь использует hyper. Последний по дефолту для резолва DNS использует стандартный, блокирующий резолвер. Вот он и порождал кучу тредов от tokio.
Я заюзал крейт hyper_trust_dns_connector с асинхронным DNS резолвером и все левые треды пропали.

Я изначально на DNS и подумал (в питоне такая же фигня по дефолту), но решил что поди в Rust сразу сделали нормальный асинхронный DNS резолвер.
источник