Denis
(популярный бренд карри, если кто не знает)
A64m
до такого варианта никто из комитетчиков не додумался
Alexander
если я верно понимаю, если ты заспавнишь в core 100500 потоков, то все будут ждать твоего
Alexander
а после 100-го сообщение будут делать это вечно
Alexander
если только r.for_each не предоставляет правильный Poll трейт
Alex
ну хоть не java curry
Compared to the spicy and curry-like cuisine of Sumatra that is heavily influenced by Indian cuisine, Javanese cuisine is most notably Chinese and European with a some local touch.
Vladimir
Vladimir
Alexander
а у стрима есть Poll
Vladimir
Alexander
https://docs.rs/futures/0.1.7/futures/sync/mpsc/struct.Receiver.html
Alexander
хм.. теперь мне интересно как это работает
Vladimir
Alexander
а for_each создает ForEach у которого есть Poll
Vladimir
Форич это способ сделать из стрима фьючу
Сережа
cat /proc/sys/kernel/threads-max ✔️ 290 17:19:03
62496
))))))))
Vladimir
Ulimit нельзя поднять?
Alexander
@c_vld а там round robin или по очереди все?
Vladimir
Vladimir
В mpsc по очереди обычно
Alexander
core
Vladimir
core
Кор это всего лишь reactor - выполняющий модуль
Aleksey
https://crates.io/crates/multiqueue
такое с ходу нашел
պլհկ
Кросбим?
Vladimir
Да, в кросбим поидее такое быть может
Vladimir
Vladimir
Хотя у кора есть хендл в котором есть спавн
Vladimir
Выполняются они по notify поидее, скорее всего без каких-то хитрых раунд Робин, просто нотифай добавит фьючу в конец очереди. По крайней мере так было б логично и максимально просто
Alexander
хм.. я с handle.spawn(..) попутал похоже
Alexander
оно же позволяет много вещей запускать?
Alexander
let server = connections.for_each(move |(socket, _peer_addr)| {
let (writer, reader) = socket.framed(LineCodec).split();
let service = s.new_service()?;
let responses = reader.and_then(move |req| service.call(req));
let server = writer.send_all(responses)
.then(|_| Ok(()));
handle.spawn(server);
Ok(())
});
Alexander
из мануала
Vladimir
Позволит
Alexander
там был пример где на каждый коннект такая штука, я так понимаю что там задачи в какой-то очереди, и им по очереди выполняться дают
Alexander
вот я думал, что если у тебя такое, то тогда r.for_each(.. из кода, из заблочит
Alexander
но я был не прав
Anton
как же все таки грустно все с токио в расте
Anton
вроде бы доки есть
Anton
а вроде бы и нихуя нет вовсе
Anton
ебучий ад
Alexander
++
Alexander
особенно если хочешь понять как внутри оно работает
Alexander
а там прикольные штуки есть
Alexander
интересный язык чтобы его знать
Alexander
я целый exercism прошёл на расте
Alexander
!!!
Alexander
в общем иногда хочется знать какой-нить язык поближе к железу в запасе
Denis
а я чего-то забил
Alexander
а я тоже забил проверять
Alexander
до туда далеко лезть
Denis
там дальше норм?
Alexander
так себе
Denis
в начале какая-то скукота
Alexander
ну всякие магины тюринга, смешные калькуляторы minesweeper-ы
Alexander
из интересного
Alexander
но так 50-100 строк кода максимум
Alexander
язык после этого знать не будешьь
Alexander
у меня есть одна задача куда его можно, но она не нужна
Alexander
и уже сть решения на го
Denis
обоснуй
Denis
можно менее виртуозно научиться пользоваться
Denis
ну так-то да, ускоряет обучение и внимательность
Denis
если мильёны
Сережа
Мильены и программисты если и связаны, то только через менеджера. Если что и ускоряет обучение, так это подзатыльники от проджект менеджера, а не гипотетические мильоны барина.
Alexander
примеры некоторых трейдинг фирм говорят что это не точно
Alexander
например Tsuru Capitals
Сережа
Объявляю их еритиками, они продались за бабки, эх а могли бы стмы за доширак программировать
Сережа
Так ничего в жизни и не добьются!
Alexander
не то на чем они пишут для стм не годно
Loo
Полезный плагин Android Studio для серьёзных разработчиков
https://habrahabr.ru/post/343392/
Loo
Ну наконец-то
Loo
Так не хватало
Kerrigan
схоронил
Vlad
О, норм
Ignat
Казалось бы, при чём тут Android Studio
Cuno
точнее так, почему это не должно работать
Был не прав. В документации (https://docs.rs/futures/0.1.17/futures/future/trait.Future.html#method.wait) говорится: This method should only be called when it's guaranteed that the blocking work associated with this future will be completed by another thread. Как оказалось, это применимо к futures::sync::mpsc. Там Sender прокидывает Task в Receiver через эту очередь: https://github.com/alexcrichton/futures-rs/blob/master/src/sync/mpsc/mod.rs#L251). В документации к futures::sync::mpsc , однако, ничего об этом не сказано. Будем знать.