Home /
Input Output /
ouroboros-network
Jun 02, 3-4 AM (0)
Jun 02, 4-5 AM (0)
Jun 02, 5-6 AM (0)
Jun 02, 6-7 AM (0)
Jun 02, 7-8 AM (1)
Jun 02, 8-9 AM (0)
Jun 02, 9-10 AM (0)
Jun 02, 10-11 AM (0)
Jun 02, 11-12 PM (0)
Jun 02, 12-1 PM (0)
Jun 02, 1-2 PM (0)
Jun 02, 2-3 PM (0)
Jun 02, 3-4 PM (0)
Jun 02, 4-5 PM (0)
Jun 02, 5-6 PM (0)
Jun 02, 6-7 PM (0)
Jun 02, 7-8 PM (0)
Jun 02, 8-9 PM (0)
Jun 02, 9-10 PM (0)
Jun 02, 10-11 PM (0)
Jun 02, 11-12 AM (0)
Jun 03, 12-1 AM (0)
Jun 03, 1-2 AM (0)
Jun 03, 2-3 AM (0)
Jun 03, 3-4 AM (0)
Jun 03, 4-5 AM (0)
Jun 03, 5-6 AM (0)
Jun 03, 6-7 AM (0)
Jun 03, 7-8 AM (0)
Jun 03, 8-9 AM (0)
Jun 03, 9-10 AM (0)
Jun 03, 10-11 AM (0)
Jun 03, 11-12 PM (11)
Jun 03, 12-1 PM (0)
Jun 03, 1-2 PM (3)
Jun 03, 2-3 PM (0)
Jun 03, 3-4 PM (0)
Jun 03, 4-5 PM (0)
Jun 03, 5-6 PM (0)
Jun 03, 6-7 PM (0)
Jun 03, 7-8 PM (0)
Jun 03, 8-9 PM (0)
Jun 03, 9-10 PM (0)
Jun 03, 10-11 PM (0)
Jun 03, 11-12 AM (0)
Jun 04, 12-1 AM (0)
Jun 04, 1-2 AM (0)
Jun 04, 2-3 AM (0)
Jun 04, 3-4 AM (0)
Jun 04, 4-5 AM (0)
Jun 04, 5-6 AM (0)
Jun 04, 6-7 AM (0)
Jun 04, 7-8 AM (0)
Jun 04, 8-9 AM (0)
Jun 04, 9-10 AM (0)
Jun 04, 10-11 AM (0)
Jun 04, 11-12 PM (0)
Jun 04, 12-1 PM (0)
Jun 04, 1-2 PM (3)
Jun 04, 2-3 PM (9)
Jun 04, 3-4 PM (0)
Jun 04, 4-5 PM (0)
Jun 04, 5-6 PM (0)
Jun 04, 6-7 PM (0)
Jun 04, 7-8 PM (0)
Jun 04, 8-9 PM (0)
Jun 04, 9-10 PM (0)
Jun 04, 10-11 PM (0)
Jun 04, 11-12 AM (0)
Jun 05, 12-1 AM (0)
Jun 05, 1-2 AM (0)
Jun 05, 2-3 AM (0)
Jun 05, 3-4 AM (0)
Jun 05, 4-5 AM (0)
Jun 05, 5-6 AM (0)
Jun 05, 6-7 AM (0)
Jun 05, 7-8 AM (0)
Jun 05, 8-9 AM (0)
Jun 05, 9-10 AM (0)
Jun 05, 10-11 AM (0)
Jun 05, 11-12 PM (0)
Jun 05, 12-1 PM (0)
Jun 05, 1-2 PM (0)
Jun 05, 2-3 PM (0)
Jun 05, 3-4 PM (0)
Jun 05, 4-5 PM (0)
Jun 05, 5-6 PM (0)
Jun 05, 6-7 PM (0)
Jun 05, 7-8 PM (0)
Jun 05, 8-9 PM (0)
Jun 05, 9-10 PM (0)
Jun 05, 10-11 PM (0)
Jun 05, 11-12 AM (0)
Jun 06, 12-1 AM (0)
Jun 06, 1-2 AM (0)
Jun 06, 2-3 AM (0)
Jun 06, 3-4 AM (0)
Jun 06, 4-5 AM (0)
Jun 06, 5-6 AM (0)
Jun 06, 6-7 AM (0)
Jun 06, 7-8 AM (0)
Jun 06, 8-9 AM (0)
Jun 06, 9-10 AM (0)
Jun 06, 10-11 AM (0)
Jun 06, 11-12 PM (0)
Jun 06, 12-1 PM (0)
Jun 06, 1-2 PM (0)
Jun 06, 2-3 PM (0)
Jun 06, 3-4 PM (0)
Jun 06, 4-5 PM (0)
Jun 06, 5-6 PM (0)
Jun 06, 6-7 PM (0)
Jun 06, 7-8 PM (0)
Jun 06, 8-9 PM (0)
Jun 06, 9-10 PM (0)
Jun 06, 10-11 PM (0)
Jun 06, 11-12 AM (0)
Jun 07, 12-1 AM (0)
Jun 07, 1-2 AM (0)
Jun 07, 2-3 AM (0)
Jun 07, 3-4 AM (0)
Jun 07, 4-5 AM (0)
Jun 07, 5-6 AM (0)
Jun 07, 6-7 AM (0)
Jun 07, 7-8 AM (0)
Jun 07, 8-9 AM (0)
Jun 07, 9-10 AM (0)
Jun 07, 10-11 AM (0)
Jun 07, 11-12 PM (0)
Jun 07, 12-1 PM (0)
Jun 07, 1-2 PM (0)
Jun 07, 2-3 PM (0)
Jun 07, 3-4 PM (0)
Jun 07, 4-5 PM (0)
Jun 07, 5-6 PM (0)
Jun 07, 6-7 PM (0)
Jun 07, 7-8 PM (0)
Jun 07, 8-9 PM (0)
Jun 07, 9-10 PM (0)
Jun 07, 10-11 PM (0)
Jun 07, 11-12 AM (0)
Jun 08, 12-1 AM (0)
Jun 08, 1-2 AM (0)
Jun 08, 2-3 AM (0)
Jun 08, 3-4 AM (0)
Jun 08, 4-5 AM (0)
Jun 08, 5-6 AM (0)
Jun 08, 6-7 AM (0)
Jun 08, 7-8 AM (0)
Jun 08, 8-9 AM (0)
Jun 08, 9-10 AM (1)
Jun 08, 10-11 AM (7)
Jun 08, 11-12 PM (0)
Jun 08, 12-1 PM (0)
Jun 08, 1-2 PM (0)
Jun 08, 2-3 PM (1)
Jun 08, 3-4 PM (0)
Jun 08, 4-5 PM (0)
Jun 08, 5-6 PM (0)
Jun 08, 6-7 PM (0)
Jun 08, 7-8 PM (0)
Jun 08, 8-9 PM (0)
Jun 08, 9-10 PM (0)
Jun 08, 10-11 PM (0)
Jun 08, 11-12 AM (0)
Jun 09, 12-1 AM (0)
Jun 09, 1-2 AM (0)
Jun 09, 2-3 AM (0)
Jun 09, 3-4 AM (0)
36 commits this week
Jun 02, 2026
-
Jun 09, 2026
api: provide nodeTo{Node,Client}VersionDataCodec
We used to need to call `cborTermVersionDataCodec` to get `VersionDataCodec` from `CodecCBORTerm`. The `VersionDataCodec` and `cborTermVersionDataCodec` is moved to `ouroboros-network:api` library (`Ouroboros.network.CodecCBORTerm` module). `cardano-diffusion` provides both `nodeToNodeVersionDataCodec` and `nodeToClientVersionDataCodec`. This required a refactorisation in tests to get rid of some newtype wrappers, however the semantics of all the tests is preserved.
handshake: fixed prop_acceptOrRefuse_symmetric failure
The tests started to fail due to usage of version data codec which doesn't satisfy round robin property on invalid version data in the previous commit.
api: hide nodeTo{Node,Client}CodecCBORTerm
Exposed `nodeTo{Node,Client}VersionDataCodec` instead.
api: documented changes in the changelog
mux-test: mux close (IO)
Removed `onException`, since the socket is already closed using
a bracket.
In `CloseOnRead` case ignore `Shutdown {}` - as in other cases. This
should fix:
```
mux close (IO): FAIL (0.08s)
*** Failed! Falsified (after 8 tests):
CloseOnRead
[]
<function>
-10
Right (Shutdown (Just (IOException withIODataPtr (recvBuf): invalid argument (An existing connection was forcibly closed by the remote host.) "recv errored")) (Failed (IOException withIODataPtr (recvBuf): invalid argument (An existing connection was forcibly closed by the remote host.) "recv errored")))
```
cardano-diffusion:ping - stderr tracer
api: VersionedCodecCBORTerm
cardano-diffusion:ping - show negotiated network version
mux-test: mux close (IO)
Removed `onException`, since the socket is already closed using
a bracket.
In `CloseOnRead` case ignore `Shutdown {}` - as in other cases. This
should fix:
```
mux close (IO): FAIL (0.08s)
*** Failed! Falsified (after 8 tests):
CloseOnRead
[]
<function>
-10
Right (Shutdown (Just (IOException withIODataPtr (recvBuf): invalid argument (An existing connection was forcibly closed by the remote host.) "recv errored")) (Failed (IOException withIODataPtr (recvBuf): invalid argument (An existing connection was forcibly closed by the remote host.) "recv errored")))
```
handshake: fixed prop_acceptOrRefuse_symmetric failure
The tests started to fail due to usage of version data codec which doesn't satisfy round robin property on invalid version data in the previous commit.
cardano-diffusion:ping - rtt output
Round handshake and chain sync rtt to milliseconds (as we do for keep alive rtts).
api: hide nodeTo{Node,Client}CodecCBORTerm
Exposed `nodeTo{Node,Client}VersionDataCodec` instead.
cardano-diffusion:ping - log output
Changed the format to log one JSON encoded message per line. When we logged a list of messages as JSON output, they get interleaved with other messages, making the output not a valid JSON unless quiet mode was used.
api: VersionedCodecCBORTerm
cardano-diffusion:ping - show negotiated network version
api: provide nodeTo{Node,Client}VersionDataCodec
We used to need to call `cborTermVersionDataCodec` to get `VersionDataCodec` from `CodecCBORTerm`. The `VersionDataCodec` and `cborTermVersionDataCodec` is moved to `ouroboros-network:api` library (`Ouroboros.network.CodecCBORTerm` module). `cardano-diffusion` provides both `nodeToNodeVersionDataCodec` and `nodeToClientVersionDataCodec`. This required a refactorisation in tests to get rid of some newtype wrappers, however the semantics of all the tests is preserved.
api: documented changes in the changelog
cardano-diffusion:ping - show negotiated network version
cardano-diffusion:ping - rtt output
Round handshake and chain sync rtt to milliseconds (as we do for keep alive rtts).
cardano-diffusion:ping - log output
Changed the format to log one JSON encoded message per line. When we logged a list of messages as JSON output, they get interleaved with other messages, making the output not a valid JSON unless quiet mode was used.
cardano-diffusion:ping - rtt output
Round handshake and chain sync rtt to milliseconds (as we do for keep alive rtts).
cardano-diffusion:ping - log output
Changed the format to log one JSON encoded message per line. When we logged a list of messages as JSON output, they get interleaved with other messages, making the output not a valid JSON unless quiet mode was used.
fixup: counter performance improvement
Have each peer step its own TVar counter and aggregate them in the txCountersThreadV2 thread when they are emitted. Multi-peer benchmarks shows between -9% and -22% in wall-clock and -13% allocation.
api: VersionedCodecCBORTerm