Immutable state consumed and returned by the pure VSR protocol.
Summary
Types
@type status() :: :normal | :view_change | :recovering
@type t() :: %ViewstampedReplication.Protocol.State{ applied_number: non_neg_integer(), applying_number: pos_integer() | nil, client_table: map(), commit_number: non_neg_integer(), configuration: ViewstampedReplication.Configuration.t(), do_view_change_messages: map(), do_view_change_sent: MapSet.t(), group_id: term(), last_normal_view: non_neg_integer(), log: ViewstampedReplication.Log.t(), op_number: non_neg_integer(), pending_clients: map(), prepare_acks: map(), recovery_attempt: non_neg_integer(), recovery_nonce: term() | nil, recovery_responses: map(), replica_id: term(), snapshot: term() | nil, snapshot_op_number: non_neg_integer(), start_view_change_votes: map(), status: status(), timeouts: %{ primary: non_neg_integer(), heartbeat: non_neg_integer(), view_change: non_neg_integer(), recovery: non_neg_integer() }, timer_sequence: non_neg_integer(), timer_tokens: map(), view_number: non_neg_integer() }
Functions
@spec new(ViewstampedReplication.Configuration.t()) :: t()