diff --git a/apps/emqx_ds_shared_sub/README.md b/apps/emqx_ds_shared_sub/README.md index a5b08ee26..456d5fe52 100644 --- a/apps/emqx_ds_shared_sub/README.md +++ b/apps/emqx_ds_shared_sub/README.md @@ -4,20 +4,15 @@ This application makes durable session capable to cooperatively replay messages # General layout and interaction with session +The general idea is described in the [EIP 0028](https://github.com/emqx/eip/blob/main/active/0028-durable-shared-subscriptions.md). + +On the code level, the application is organized in the following way: + ![General layout](docs/images/ds_shared_subs.png) * The nesting reflects nesting/ownership of entity states. * The bold arrow represent the [most complex interaction](https://github.com/emqx/eip/blob/main/active/0028-durable-shared-subscriptions.md#shared-subscription-session-handler), between session-side group subscription state machine (**GroupSM**) and the shared subscription leader (**Leader**). -# GroupSM and Leader communication - -The target state of GroupSM and its representation in Leader is `replaying`. That is, when the GroupSM and the Leader agree on the leased streams, Leader sends lease confirmations to the GroupSM, the GroupSM sends iteration updates. - -Other states are used to gracefully reassign streams to the GroupSM. - -Below is the sequence diagram of the interaction. - -![GroupSM and Leader communication](docs/images/groupsm_leader_communication.png) # Contributing diff --git a/apps/emqx_ds_shared_sub/docs/images/groupsm_leader_communication.png b/apps/emqx_ds_shared_sub/docs/images/groupsm_leader_communication.png deleted file mode 100644 index 48040ccea..000000000 Binary files a/apps/emqx_ds_shared_sub/docs/images/groupsm_leader_communication.png and /dev/null differ