Merge pull request #5205 from IntersectMBO/coot/cardano-ping
cardano ping implemented with ouroboros-network
cardano ping implemented with ouroboros-network
KnownPeers.setCurrentTime and EstablishedPeers.setCurrentTime run on every governor loop iteration. Add a fast path to KnownPeers for the common case where nothing is scheduled or the earliest scheduled time is still in the future; previously it always ran the general path, rebuilding the record and (with +asserts) checking the invariant. In EstablishedPeers use findMin instead of minView in the existing fast-path guard: an O(1) peek that avoids allocating the deletion of the minimum. The fast path now also covers the empty-queue case, which previously fell through to the general path.
``` nix build .\#cardano-ping-static.x86_64-linux ```
* Log stat header. * Formatting stat header & StatPoint. * Start logging ping statistics / tip / query results only when all clients are ready. This way we don't mix connection messages / warnings with other messages.
Bold headers are printed when color output is enabled (always, or auto when stdout is a terminal). Co-Authored-By: Claude Sonnet 4.6 <[email protected]>
Bold headers are printed when color output is enabled (always, or auto when stdout is a terminal). Co-Authored-By: Claude Sonnet 4.6 <[email protected]>
``` nix build .\#cardano-ping-static.x86_64-linux ```
* Log stat header. * Formatting stat header & StatPoint. * Start logging ping statistics / tip / query results only when all clients are ready. This way we don't mix connection messages / warnings with other messages.
Change the time for each call so that ghc is forced to run every loop itteration.
* Log stat header. * Formatting stat header & StatPoint. * Start logging ping statistics only when all clients are ready. This way we don't mix connection messages / warnings with ping statistics.
`concurrently` finishes as soon as one of the threads fails or all exit cleanly, but we want all the threads to continue until all of them terminate.
``` nix build .\#cardano-ping-static.x86_64-linux ```
``` nix build .\#cardano-ping-static.x86_64-linux ```
* Log stat header. * Formatting stat header & StatPoint. * Start logging ping statistics only when all clients are ready. This way we don't mix connection messages / warnings with ping statistics.
`concurrently` finishes as soon as one of the threads fails or all exit cleanly, but we want all the threads to continue until all of them terminate.