Маjко
и крейт futures_cpupool
Маjко
Если у тебя поток возвращает вычисления, то ты можешь понять что он завершился когда закроется tx канала
Evgεny
спасибо, а futures_cpupool это евенлуп на многих потоках или просто пул для таких вот случаев? а евентлуп все ще может заблочиться кривыми руками?
Маjко
Пул для таких вот случаев
պլհկ
Заблочить луп всегда можно))
Маjко
Любая блокирующая операция блокирует ивентлуп
Evgεny
хочу сделать это с наименьшими усилиями, чтоб выявить, где я не прав
Evgεny
то что надо
Evgεny
спасибо
պլհկ
и крейт futures_cpupool
Не модно, tokio-threadpool надо юзать!
պլհկ
Карлуха зря что ли старался
Anton
Когда крайний раз смотрел?
Anton
он вроде что то переносил к кричтону
Anonymous
а для чего этот pool служил раньше тогда
> By default, the Tokio thread pool expects that tasks will only run for short periods at a time before yielding back to the thread pool.
Evgεny
а, это cpupool нужен для долгоиграющих
Evgεny
а этот как раз для выполнения футур?
Evgεny
э я сейчас опять запутаюсь
պլհկ
да оба они для cpu-bound
Evgεny
так блэд
Evgεny
почему у одного тогда какие-то "короткие" cpu-bound
պլհկ
это просто оптимизация
Evgεny
по делу надо юзать, получается, threadpool и для тасок длиннее среднестатистического включать херню из того pr ?
պլհկ
да
Aleksey
Смотри futures::sync::mpsc
в версии 0.2 кажется уже futures::channel::mpsc
Tuntz
на 0.2 ещё не переехала экосистема
Aleksey
на 0.2 ещё не переехала экосистема
спасибо, не учел просто листал документацию по последней версии
Денис
ну вот futures переехали на 0.2, а тот же токио ещё пока нет
Денис
там есть возможность использовать под капотом futures 0.2, но тесты падают))) точнее, зависают)
պլհկ
шон переехал и вернулся
պլհկ
сказал хуйня ваши 0.2 фьючи
պլհկ
работаем дальше
Денис
хз-хз
Viknet
Роскомнадзор разрывает пасть интернету
Viknet
График блокируемых адресов теперь выглядит так https://2018.schors.spb.ru/
Денис
никогда такого не было и вот опять
Денис
флудеры блин)
Alex
Надо бы скрестить FireChat с телегой. Тогда заблокированы будут 100% всех ip. Даёшь меш-сети в массы!
Судзумия
Αλεχ
Пони?
там половину обсуждения снесли
Αλεχ
ради того чтобы помолчать
Αλεχ
так что невермайнд
Судзумия
պլհկ
Чтоб в следующий раз в растджерк сразу шли
qthree
futures 0.2 не предназначены для широкого пользования, промежуточный релиз, они там Pin<Self> ждут для следующей мажорной версии.
Aleksey
А что это за pin? Я ленивый читать rfc
Aleksey
А чем это отличается от borrowing?
Антон
Так, зачем моё сообщение потёрли
Sergey
Антон
А чем это отличается от borrowing?
Тем, что Pin владеет данными
qthree
Pin implements Deref, but only implements DerefMut if the type it references implements Unpin. This way, it is not safe to call mem::swap or mem::replace when the type referenced does not implement Unpin.
Tuntz
Pin привязан к треду, верно?
qthree
Нет. Pin это такой &mut, но мутабельный он только если указывает на Unpin значение
qthree
По умолчанию все посечено Unpin маркером, но можно пометить свою структуру !Unpin
Sergey
чет нифига не понял
Sergey
можно глянуть сорцы Pin/Unpin?
Sergey
или там маркеры компилятора?
qthree
Полезно например в структурах которые сами на себя указывают
qthree
И в async/await когда возвращается футура с лайфтаймом
qthree
можно глянуть сорцы Pin/Unpin?
https://github.com/rust-lang/rfcs/blob/master/text/2349-pin.md
Sergey
https://github.com/rust-lang/rfcs/blob/master/text/2349-pin.md
так не завезли что ли ещё?
Антон
так не завезли что ли ещё?
В ночник пока вроде
qthree
Нет, поэтому и говорю что ждут Pin и возможность писать методы с (self: Smth<Self>
qthree
Тогда уже будет мажорный релиз футур и все на неё переедут, а 0.2 никому не нужна
Aleksey
То есть в self можно будет свои типы использовать? Интересно, в каком нибудь языке такое есть еще?
qthree
Читал где то, влом ссылку искать
Антон
То есть в self можно будет свои типы использовать? Интересно, в каком нибудь языке такое есть еще?
1) Да. На сегодняшний день на него можно только ограничения в виде трейтов вешать. 2) Не слышал о таких
պլհկ
вангуешь?
Во futures rfc писали
պլհկ
Или на реддите в анонсе 0.2
Антон
Что то не видел примеров.
impl Trait for Foo { fn trait_method(&self, ...) -> ... where Self: AnotherTrait { ... } }
Aleksey
Прикольно, не знал
qthree
вангуешь?
https://www.reddit.com/r/rust/comments/8ac85w/futures_02_is_here/dwxkhvl
Ευγένιος
Ребята, что использовать в rust для http запроса? Rocket? Или есть что-то попроще?