Rulexec / zero-server-java

RPC-protocol
0 stars 0 forks source link

Отчёты о доставке uniqueId'ов между мини-сессиями #7

Open Rulexec opened 10 years ago

Rulexec commented 10 years ago

В данный момент если клиент покинул старую мини-сессию, но открыл новую, то он никак не узнает, был бы доставлен пакет с заданным uniqueId, кроме как спросит у RPC-слоя, какое состояние выполнения для него.

Но не исключено состояние гонки, когда пакет с uniqueId'ом придёт после запроса о состоянии исполнения метода.

Возможно добавление отдельного ack'а, подтверждающего приход uniqueId'ов в другой мини-сессии не такой уж и плохой вариант.

Rulexec commented 10 years ago

Данная фича переносится из багов в улучшения, вандервафли, а так же в версию 0.*.0. Это реализуемо путём добавления новых методов, которые, к примеру, подписываются на подтверждения сообщений в других сессиях.

Да и вообще клиент вполне может за время закрытия сессии создать новую, начать работать в ней, а пока старая до конца не закрылась — привести там дела в порядок. Благо вполне допустимо иметь дело с несколькими сессиями в одном TCP-соединении, например.

Кроме этого вполне допустимо в новой сессии повторить все мутные запросы. Если они дойдут за время остатка жизни старой (которого не так уж и много), то сервер ещё будет помнить, что их нужно дропнуть, т.к. они уже приходили в новой.