|
@@ -234,7 +234,7 @@ mk_leader_topic(GroupName) ->
|
|
|
%% General.
|
|
%% General.
|
|
|
group := group(),
|
|
group := group(),
|
|
|
%% Spaces and variables: most up-to-date in-memory state.
|
|
%% Spaces and variables: most up-to-date in-memory state.
|
|
|
- stream := #{emqx_ds:stream() => _StreamState},
|
|
|
|
|
|
|
+ stream := #{emqx_ds:stream() => stream_state()},
|
|
|
start_time => _SubsriptionStartTime :: emqx_message:timestamp(),
|
|
start_time => _SubsriptionStartTime :: emqx_message:timestamp(),
|
|
|
rank_progress => _RankProgress,
|
|
rank_progress => _RankProgress,
|
|
|
%% Internal _sequence number_ variable.
|
|
%% Internal _sequence number_ variable.
|
|
@@ -245,6 +245,11 @@ mk_leader_topic(GroupName) ->
|
|
|
stage := #{space_key() | var_name() => _Value}
|
|
stage := #{space_key() | var_name() => _Value}
|
|
|
}.
|
|
}.
|
|
|
|
|
|
|
|
|
|
+-type stream_state() :: #{
|
|
|
|
|
+ progress => emqx_persistent_session_ds_shared_subs:progress(),
|
|
|
|
|
+ rank => emqx_ds:stream_rank()
|
|
|
|
|
+}.
|
|
|
|
|
+
|
|
|
-spec init(group()) -> t().
|
|
-spec init(group()) -> t().
|
|
|
init(Group) ->
|
|
init(Group) ->
|
|
|
set(seqnum, 0, mk_store(Group)).
|
|
set(seqnum, 0, mk_store(Group)).
|