Automaton.ScoreModule for peers scores
type time = Time.ttype topic = Topic.tval newly_connected : (topic, span) Gossipsub_intf.score_limits -> tnewly_connected params creates a fresh statistics record.
remove_peer ps ~retain_duration will either return None if the peer statistics can be cleared, or Some ps' with ps' some statistics to be retained for at least retain_duration.
expires ps returns None if the score statistics has no expiration time or Some t if it expires at time t.
graft ps topic allows to measure the time spent by the peer in the mesh. It is to be called upon grafting a peer to topic.
prune ps topic allows to measure the time spent by the peer in the mesh. It is to be called upon pruning a peer from topic.
first_message_delivered ps topic increments the counter related to first message deliveries and mesh message deliveries on topic by the associated peer.
duplicate_message_delivered ps topic validated increments the counter related to near-first mesh message deliveries on topic by the associated peer. validated is the time at which the message was seen by the automaton for the first time.
invalid_message_delivered ps topic increments the counter related to invalid messages sent by the associated peer.
set_application_score ps score sets the application-specific score. This score can be positive or negative.
refresh ps returns Some ps' with ps' a refreshed score record or None if the score expired. Refreshing a ps allows to update time-dependent spects of the scoring statistics.
val zero : valueThe zero score value, corresponding to a neutral score.
val of_float : float -> valueConvert a float into a score value.
include Tezos_stdlib.Compare.S with type t := valueinclude Tezos_base.TzPervasives.PRINTABLE with type t := tval pp : Stdlib.Format.formatter -> t -> unitval pp_value : Stdlib.Format.formatter -> value -> unitmodule Introspection : sig ... endmodule Internal_for_tests : sig ... end