Events accepted by the pure protocol transition function.
Summary
Types
@type client_route() :: term()
@type op_number() :: non_neg_integer()
@type recovered_state() :: term()
@type replica_id() :: term()
@type result() :: term()
@type t() :: {:client_request, client_route(), ViewstampedReplication.Request.t()} | {:peer_message, replica_id(), ViewstampedReplication.Protocol.Envelope.t()} | {:timeout, timer_kind(), timer_token()} | {:state_machine_applied, op_number(), result()} | {:snapshot_completed, op_number(), snapshot :: term()} | {:storage_recovered, recovered_state()} | {:storage_failed, term()}
@type timer_kind() :: atom()
@type timer_token() :: term()