mirror of
https://github.com/XRPLF/rippled.git
synced 2026-09-27 15:28:03 +00:00
Two different facts were sharing one attribute key. The sync-diagnostics branch already emits validation_status on consensus.validation.accept, carrying what the validation store did (ValStatus: current, stale, bad_seq, multiple, conflicting, unknown) with a mapping function and tests behind it. This branch then added validation_status on consensus.validation.receive for which exit the receive path took (queued, dropped_diverged, dropped_load). One key with two value domains means any aggregation that does not also filter on span name mixes them. Merging the two branches also produced a duplicate constexpr declaration in one header, which is how the compiler surfaced it. The established accept-path key keeps its name; this one becomes validation_receive_status, qualified by the span phase it describes. The values are unchanged.
Consensus
This directory contains the implementation of a generic consensus algorithm. The implementation follows a CRTP design, requiring client code to implement specific functions and types to use consensus in their application. The interface is undergoing refactoring and is not yet finalized.