Ordered effects emitted by the pure protocol core.
Summary
Types
@type t() :: {:send, replica_id :: term(), ViewstampedReplication.Protocol.Envelope.t()} | {:broadcast, ViewstampedReplication.Protocol.Envelope.t()} | {:reply, client_route :: term(), ViewstampedReplication.Reply.t()} | {:persist, storage_operation :: term()} | {:apply, ViewstampedReplication.LogEntry.t()} | {:schedule_timer, timer_kind :: atom(), timeout(), timer_token :: term()} | {:cancel_timer, timer_kind :: atom()} | {:request_state_transfer, replica_id :: term(), Range.t()} | {:emit_telemetry, event_name :: [atom()], measurements :: map(), metadata :: map()}