Маjко
и крейт futures_cpupool
Маjко
Если у тебя поток возвращает вычисления, то ты можешь понять что он завершился когда закроется tx канала
պլհկ
допустим, у меня есть фуча, которая в себе содержит жирное вычисление. Чтобы не блочить экзекутор, она должна заспавнить новый тред, с которым сможет общаться через, допустим, растовый канал, чтобы понять, Ready она или нет? А евентлуп будет ее пинать и спрашивать, досчитался ли тот поток?
Спавни на пуле, коли у тебя вычисления
Evgεny
спасибо, а futures_cpupool это евенлуп на многих потоках или просто пул для таких вот случаев? а евентлуп все ще может заблочиться кривыми руками?
Маjко
Пул для таких вот случаев
պլհկ
Заблочить луп всегда можно))
Маjко
Любая блокирующая операция блокирует ивентлуп
Evgεny
хочу сделать это с наименьшими усилиями, чтоб выявить, где я не прав
Evgεny
то что надо
Evgεny
спасибо
պլհկ
Карлуха зря что ли старался
Anton
Когда крайний раз смотрел?
Anton
он вроде что то переносил к кричтону
Anonymous
Evgεny
Evgεny
а, это cpupool нужен для долгоиграющих
Evgεny
а этот как раз для выполнения футур?
Evgεny
э я сейчас опять запутаюсь
պլհկ
да оба они для cpu-bound
Evgεny
так блэд
Evgεny
почему у одного тогда какие-то "короткие" cpu-bound
պլհկ
это просто оптимизация
Evgεny
по делу надо юзать, получается, threadpool и для тасок длиннее среднестатистического включать херню из того pr ?
պլհկ
да
Tuntz
на 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
Антон
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 когда возвращается футура с лайфтаймом
Sergey
Антон
qthree
Нет, поэтому и говорю что ждут Pin и возможность писать методы с (self: Smth<Self>
qthree
Тогда уже будет мажорный релиз футур и все на неё переедут, а 0.2 никому не нужна
Антон
Sergey
Aleksey
То есть в self можно будет свои типы использовать? Интересно, в каком нибудь языке такое есть еще?
qthree
Читал где то, влом ссылку искать
պլհկ
Или на реддите в анонсе 0.2
Aleksey
Антон
Что то не видел примеров.
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? Или есть что-то попроще?
iDeBugger