anchor.diff:          infinity
       ).
   
  +
  +%% -----------------------------------------------------------------------------
   %% @doc Receive message from a remote manager.
  +%% @end
  +%% -----------------------------------------------------------------------------
   receive_message(_Peer, Message) ->
       gen_server:call(?MODULE, {receive_message, Message}, infinity).
   
  +
  +%% -----------------------------------------------------------------------------
   %% @doc Attempt to join a remote node.
  +%% @end
  +%% -----------------------------------------------------------------------------
   join(Node) ->
       gen_server:call(?MODULE, {join, Node}, infinity).
   
  +
  +%% -----------------------------------------------------------------------------
   %% @doc Attempt to join a remote node.
  +%% @end
  +%% -----------------------------------------------------------------------------
   sync_join(_Node) ->
       {error, not_implemented}.
   
  +
  +%% -----------------------------------------------------------------------------
   %% @doc Leave the cluster.
  +%% @end
  +%% -----------------------------------------------------------------------------
   leave() ->
       gen_server:call(?MODULE, {leave, partisan:node_spec()}, infinity).
   
   
  +%% -----------------------------------------------------------------------------
   %% @doc Remove another node from the cluster.
  +%% @end
  +%% -----------------------------------------------------------------------------
   leave(#{name := _} = NodeSpec) ->
       gen_server:call(?MODULE, {leave, NodeSpec}, infinity).
   
   
  +%% -----------------------------------------------------------------------------
   %% @doc Decode state.
  +%% @end
  +%% -----------------------------------------------------------------------------
   decode(State) ->
       sets:to_list(State).
   
  +
  +%% -----------------------------------------------------------------------------
   %% @doc Reserve a slot for the particular tag.
  +%% @end
  +%% -----------------------------------------------------------------------------
   reserve(Tag) ->
       gen_server:call(?MODULE, {reserve, Tag}, infinity).
   
  +
  +%% -----------------------------------------------------------------------------
   %% @doc Inject a partition.
  +%% @end
  +%% -----------------------------------------------------------------------------
   inject_partition(_Origin, _TTL) ->
       {error, not_implemented}.
   
  +
  +%% -----------------------------------------------------------------------------
   %% @doc Resolve a partition.
  +%% @end
  +%% -----------------------------------------------------------------------------
   resolve_partition(_Reference) ->
       {error, not_implemented}.
   
  +
  +%% -----------------------------------------------------------------------------
   %% @doc Return partitions.
  +%% @end
  +%% -----------------------------------------------------------------------------
   partitions() ->
       {error, not_implemented}.
   
  -%%%===================================================================
  -%%% gen_server callbacks
  -%%%===================================================================
  -
  -%% @private
  +
  +
  +
  +%% =============================================================================
  +%% GEN_SERVER CALLBACKS
  +%% =============================================================================
  +
  +
  +
  +
  +
   -spec init([]) -> {ok, state_t()}.
   init([]) ->
       %% Seed the random number generator.
  
positive.code: 
      Membership = maybe_load_state_from_disk(),
  
      Myself = myself(),
  
      logger:set_process_metadata(#{
          node => myself()
      }),
  
      %% Get tag, if set.
  
negative.code:             ok = partisan_util:may_disconnect(LeavingNode),
  
              NewPending = sets:filter(
                  fun(#{name := Node}) -> Node =/= LeavingNode end,
                  Pending
              ),
  
  