
Aleksey
10.07.2017
11:58:24

Nick
10.07.2017
11:59:10
@fomkin а не хочешь взять какой-нить disruptor?)

KrivdaTheTriewe
10.07.2017
11:59:29

Aleksey
10.07.2017
12:00:21

Google

KrivdaTheTriewe
10.07.2017
12:01:46
у меня тут была задача общаться с акторсистемой,когда асков совсем нет внутри нее, а ответ как-то внешней системе нужно вернуть, с промоузом проще всего получилось.

Alexey
10.07.2017
12:08:58
ну это такой, граничный кейс всё таки
ask по сути

KrivdaTheTriewe
10.07.2017
12:12:56
ask по сути
аск вырождается в цепочку асков , то есть у тебя все по цепочке должно идти( до конечной реализации )

folex
10.07.2017
12:13:30

Alexey
10.07.2017
12:14:58
@folexeyy я всё видел :)

folex
10.07.2017
12:17:22
мисклик :) Но пак прекрасен, да

Aleksey
10.07.2017
12:19:22

Vadim
10.07.2017
12:21:26
это перебор)

folex
10.07.2017
12:21:30
Ну мы тоже пришли к актору-коллектору. Аски это прям плохо. А реквест-респонс приложения на акторах в целом норм, удобное конкарренси же.

Alexey
10.07.2017
12:21:57
тут как и везде - главное не увлекаться

Google

Vadim
10.07.2017
12:21:58
а как получить данные из актора коллетора?)

Alexey
10.07.2017
12:22:23

folex
10.07.2017
12:22:24
@dos65 промисами-фьючами например
но да, он их сам кладет туда, ты уже не пуллишь

Vadim
10.07.2017
12:22:52
но зачем тебе самому заворачивать промис, если аск за тебя это сделает7)

Aleksey
10.07.2017
12:23:18
На моей практики эволюция проектах выглядит так:
1. У нас будут акторы и мы победим конкаренси!
2. Хм. Мне нужны данные из актора А в акторе Б. Давай-ка сделаем запросик из А в Б через аск.
3. Что-то весь проект в асках. Проще было бы использовать геттеры!
4. Акторы -- говно. Надо все переписывать на стримах!
5. ...
6. Фэйл.

folex
10.07.2017
12:23:29

KrivdaTheTriewe
10.07.2017
12:23:58

Aleksey
10.07.2017
12:25:24

Vadim
10.07.2017
12:28:36

Henadz
10.07.2017
12:29:05

Alexey
10.07.2017
12:29:07

folex
10.07.2017
12:29:25

Aleksey
10.07.2017
12:30:23
Так всетаки Кланговские миниакторы. Какие у них минусы?

KrivdaTheTriewe
10.07.2017
12:32:13

Mikhail
10.07.2017
12:32:35
@fomkin зачем тебе акторы сдались? тебе ведь непосредственный обмен сообщениями не требуется? тебе ведь наверное просто хочется засинкать выполнение блока кода по определенному ключу (где ключом может быть любой обьект) и при этом не иметь flag.synchronized, поскольку это не гибко, может тормозить общий прогресс, еще и не все нужные случае этим покроешь и т.д.. верно? или я не правильно понял для чего тебе акторы? ))

KrivdaTheTriewe
10.07.2017
12:32:58
ты делаешь актору АСК, он дальше делает цепочку теллов , но чтобы получить ответ он должен обработать сообщение , а ты всё ещё с теллом висишь

Alexey
10.07.2017
12:33:10
одним аском
или я неправильно понял фразу цепочка асков

Google

Aleksey
10.07.2017
12:34:21

Vadim
10.07.2017
12:34:47
а какой стейт кроме сессии?

Vladimir
10.07.2017
12:36:37
https://monix.io/docs/2x/eval/mvar.html
не достаточно будет?

Nick
10.07.2017
12:37:13

Alexander
10.07.2017
12:37:46
Так и сделано. Там есть стейт коннекшона, стейт сессии, стейт бриджа, стейт самого приложения. По началу оно нормально управлялось и выглядело, но потом разлослось -- здесь счетчик, там хэшмэп, здесь еще один хэшмэп. Раньше я еще сапортил scala.js версию, по этому AtomicReference нельзя было использовать, в ход пошли волатайлы и тп. Трогать это страшно. Лучше решить это дела раз и на всегда, акторами, где в стейт меняется всегда из одного треда.

Aleksey
10.07.2017
12:37:50
а какой стейт кроме сессии?
Ну вот есть стейт приложения, который пользовательский. Там для него по сути написан тот же кланговский актор: очередь и tell. Потом есть всяки хэштаблицы в которых лежат эвенты, делэи, колбэки. Потом есть всякие счетчики скрытые. Флажки разные.

Alexey
10.07.2017
12:43:33
почему "еще больше"?

Nick
10.07.2017
12:43:49
@fomkin у тебя ж по идее весь запрос должен обрабатываться одним тредом, откуда конкуренция?

Aleksei
10.07.2017
12:44:41

Aleksey
10.07.2017
12:46:43

Alexey
10.07.2017
12:46:52
получается неблокируемый апи н тасках

Vladimir
10.07.2017
12:48:37
ну если таски из апи торчать будут, то это такое себе

Alexey
10.07.2017
12:49:29
торчат. а что с этим не так?

Nick
10.07.2017
12:52:31
очередь и воркеры
@fomkin я для чего on complete юзается?

Aleksey
10.07.2017
12:54:17
очередь и воркеры
Обобщаем, получаем акторы. Возвращаемся к изначальному повросу: Кланговские акторы и моя модфикация с типизацией. Плюсы, минусы, подводные камни?

Google

Nick
10.07.2017
12:55:00
@fomkin у тебя реквест разбивается на мелкие части и получается несколько футуров?

Aleksey
10.07.2017
12:57:13

Nick
10.07.2017
12:58:55
вот когда сендер ждет, эт имхо не круто

Vadim
10.07.2017
13:00:06
@fomkin видимых минусов нет - если тебе достаточно обертки читалки очереди - бери)

Aleksey
10.07.2017
13:00:26

Vadim
10.07.2017
13:01:36
хотя в случае ошибок - что делать?)

Nick
10.07.2017
13:02:01
кароч фомкин, бери disruptor и мути паип на нем

Admin
ERROR: S client not available

Nick
10.07.2017
13:02:02
)
1 writer - 1 reader )

Aleksey
10.07.2017
13:03:05

Nick
10.07.2017
13:03:21
аа, ты ж scalajs хочешь?

KrivdaTheTriewe
10.07.2017
13:03:24
Есть норм паттерн для редкообновляемых справочников в акторсистемах ?

Aleksey
10.07.2017
13:03:54

Nick
10.07.2017
13:04:12
тогда в чем проблема?

Aleksey
10.07.2017
13:05:48
тогда в чем проблема?
В том что там развесистый стейт и не пайп совсем. Я не знаю кстати что за дисраптор.

Nick
10.07.2017
13:06:05
зря не знаешь)
что значит не пайп?
мне трудно сервер без пайпа представить

Google

Aleksey
10.07.2017
13:08:45
Одно сообщение меняет стейт в разным местах.

Nick
10.07.2017
13:10:05
проблема в том, что может придти несколько сообщений и это превращается в канкарент модификеишин дерева?

Alexander
10.07.2017
13:15:56

folex
10.07.2017
13:16:35
А если я хочу в кошках автоматический вывод Eq для Product (case class), мне нужно использовать какой-нибудь https://github.com/milessabin/kittens или есть встроенные способы?

Alexander
10.07.2017
13:17:13
короче не хранить данные в объекте, который сам по себе уже адрес сэтих данных

Nick
10.07.2017
13:17:25
@fomkin почитай лс

Aleksey
10.07.2017
14:34:14

Oleg
10.07.2017
14:36:46
Тоже пойду почитаю лс

folex
10.07.2017
14:38:17
давайте все читать лс фомкина (взлом ТГ без смс)

Oleg
10.07.2017
14:40:59

folex
10.07.2017
14:41:50
Мм, сарказм тут ни к чему
Могло например быть так что он сделал киттенз, а потом кошки к себе это занесли
или еще с десяток других вариантов

Oleg
10.07.2017
14:42:38
Напрашивается автовывод: нет, нельзя

folex
10.07.2017
14:43:25
автовывод :D

Oleg
10.07.2017
14:44:39
Самое автоматическое - это
Eq.fromUniversalEquals
он будет .equals внутри запускать, который для кейзклассов написан

folex
10.07.2017
14:45:15
о, а вот это круто, спасибо еще раз :)