Update readme with detailed algorithm how connect to mirror
prepare this info in more readable format
Initial sync
- подключаетесь по вебсокету
- получаете сообщение на запрос протокола
- отправляете тип протокола
- получаете запрос на latest-timestamp
- timestamp у вас нет, поэтому отправляете data: ""
- получаете запрос на init-point-request
- отправляете запрос с типом init-point-request и с датой с которой необходим sync (тут можно выставлять любую дату, но скорее всего стоит брать дату последнего документа)
- принимаете объекты от начала той даты, которую отправили (data это тело объекта, ts - latest timestamp)
- как только объекты синхронизировались, соединение закрывается
Subsription on updates
- подключаетесь заново
- подключаетесь по вебсокету
- получаете сообщение на запрос протокола
- отправляете тип протокола
- получаете запрос на latest-timestamp
- timestamp у вас ЕСТЬ, поэтому отправляете в data: <latest_ts_you_got>
- получаете обновления
на любой запрос с latest-timestamp отвечаете последним полученным ts
для lease_request и action нужны отдельные клиенты
когда отдаете ответ о протоколе, добавляете
{
'type': 'protocol-request',
'data': 'full',
'ns': 'registry.lease_request'
}
publish readme somewhere in confluence
Edited by dmitry.mashoshin