Соединение одного клиента с шиной: подключает транспорт, переподключает
его и передаёт входящие события Worker'у.
Текущий транспорт лежит в ETS-таблице клиента (table/1): публикация и
подтверждения (LogDB.publish/…) берут его оттуда, а не вызовом этого
процесса. Раньше каждая публикация стояла в его очереди за входящими
событиями — под потоком событий публикация ждала доставки чужих.
Переподключение — с нарастающей паузой (1 с, 2 с, 4 с … до 30 с) и разбросом: после рестарта шины клиенты не ломятся в неё одновременно.
Summary
Functions
Returns a specification to start this module under a supervisor.
Запомнить подписку, сделанную LogDB.subscribe/2,3: после каждого
переподключения соединение повторит её само.
ETS-таблица клиента с текущим транспортом: {:transport, module, state}.
Текущий транспорт клиента — без вызова процесса соединения.
Functions
Returns a specification to start this module under a supervisor.
See Supervisor.
Запомнить подписку, сделанную LogDB.subscribe/2,3: после каждого
переподключения соединение повторит её само.
ETS-таблица клиента с текущим транспортом: {:transport, module, state}.
Текущий транспорт клиента — без вызова процесса соединения.