integrate and squash
Home /
Input Output /
ouroboros-network
Apr 17, 2-3 AM (0)
Apr 17, 3-4 AM (0)
Apr 17, 4-5 AM (0)
Apr 17, 5-6 AM (0)
Apr 17, 6-7 AM (0)
Apr 17, 7-8 AM (0)
Apr 17, 8-9 AM (0)
Apr 17, 9-10 AM (0)
Apr 17, 10-11 AM (0)
Apr 17, 11-12 PM (0)
Apr 17, 12-1 PM (0)
Apr 17, 1-2 PM (0)
Apr 17, 2-3 PM (3)
Apr 17, 3-4 PM (2)
Apr 17, 4-5 PM (0)
Apr 17, 5-6 PM (0)
Apr 17, 6-7 PM (0)
Apr 17, 7-8 PM (0)
Apr 17, 8-9 PM (0)
Apr 17, 9-10 PM (0)
Apr 17, 10-11 PM (0)
Apr 17, 11-12 AM (0)
Apr 18, 12-1 AM (0)
Apr 18, 1-2 AM (0)
Apr 18, 2-3 AM (0)
Apr 18, 3-4 AM (0)
Apr 18, 4-5 AM (0)
Apr 18, 5-6 AM (0)
Apr 18, 6-7 AM (1)
Apr 18, 7-8 AM (1)
Apr 18, 8-9 AM (0)
Apr 18, 9-10 AM (0)
Apr 18, 10-11 AM (0)
Apr 18, 11-12 PM (0)
Apr 18, 12-1 PM (0)
Apr 18, 1-2 PM (0)
Apr 18, 2-3 PM (0)
Apr 18, 3-4 PM (0)
Apr 18, 4-5 PM (0)
Apr 18, 5-6 PM (0)
Apr 18, 6-7 PM (0)
Apr 18, 7-8 PM (0)
Apr 18, 8-9 PM (0)
Apr 18, 9-10 PM (0)
Apr 18, 10-11 PM (0)
Apr 18, 11-12 AM (0)
Apr 19, 12-1 AM (0)
Apr 19, 1-2 AM (0)
Apr 19, 2-3 AM (0)
Apr 19, 3-4 AM (0)
Apr 19, 4-5 AM (0)
Apr 19, 5-6 AM (0)
Apr 19, 6-7 AM (0)
Apr 19, 7-8 AM (0)
Apr 19, 8-9 AM (0)
Apr 19, 9-10 AM (0)
Apr 19, 10-11 AM (0)
Apr 19, 11-12 PM (0)
Apr 19, 12-1 PM (0)
Apr 19, 1-2 PM (0)
Apr 19, 2-3 PM (0)
Apr 19, 3-4 PM (0)
Apr 19, 4-5 PM (0)
Apr 19, 5-6 PM (0)
Apr 19, 6-7 PM (0)
Apr 19, 7-8 PM (0)
Apr 19, 8-9 PM (0)
Apr 19, 9-10 PM (0)
Apr 19, 10-11 PM (0)
Apr 19, 11-12 AM (0)
Apr 20, 12-1 AM (0)
Apr 20, 1-2 AM (0)
Apr 20, 2-3 AM (0)
Apr 20, 3-4 AM (0)
Apr 20, 4-5 AM (0)
Apr 20, 5-6 AM (0)
Apr 20, 6-7 AM (0)
Apr 20, 7-8 AM (0)
Apr 20, 8-9 AM (0)
Apr 20, 9-10 AM (0)
Apr 20, 10-11 AM (0)
Apr 20, 11-12 PM (0)
Apr 20, 12-1 PM (0)
Apr 20, 1-2 PM (0)
Apr 20, 2-3 PM (0)
Apr 20, 3-4 PM (0)
Apr 20, 4-5 PM (0)
Apr 20, 5-6 PM (0)
Apr 20, 6-7 PM (0)
Apr 20, 7-8 PM (0)
Apr 20, 8-9 PM (0)
Apr 20, 9-10 PM (0)
Apr 20, 10-11 PM (0)
Apr 20, 11-12 AM (0)
Apr 21, 12-1 AM (0)
Apr 21, 1-2 AM (0)
Apr 21, 2-3 AM (0)
Apr 21, 3-4 AM (0)
Apr 21, 4-5 AM (0)
Apr 21, 5-6 AM (0)
Apr 21, 6-7 AM (0)
Apr 21, 7-8 AM (0)
Apr 21, 8-9 AM (0)
Apr 21, 9-10 AM (0)
Apr 21, 10-11 AM (1)
Apr 21, 11-12 PM (0)
Apr 21, 12-1 PM (0)
Apr 21, 1-2 PM (0)
Apr 21, 2-3 PM (0)
Apr 21, 3-4 PM (0)
Apr 21, 4-5 PM (0)
Apr 21, 5-6 PM (0)
Apr 21, 6-7 PM (0)
Apr 21, 7-8 PM (0)
Apr 21, 8-9 PM (0)
Apr 21, 9-10 PM (0)
Apr 21, 10-11 PM (0)
Apr 21, 11-12 AM (0)
Apr 22, 12-1 AM (0)
Apr 22, 1-2 AM (0)
Apr 22, 2-3 AM (0)
Apr 22, 3-4 AM (0)
Apr 22, 4-5 AM (0)
Apr 22, 5-6 AM (20)
Apr 22, 6-7 AM (0)
Apr 22, 7-8 AM (0)
Apr 22, 8-9 AM (4)
Apr 22, 9-10 AM (1)
Apr 22, 10-11 AM (1)
Apr 22, 11-12 PM (4)
Apr 22, 12-1 PM (0)
Apr 22, 1-2 PM (11)
Apr 22, 2-3 PM (0)
Apr 22, 3-4 PM (0)
Apr 22, 4-5 PM (0)
Apr 22, 5-6 PM (0)
Apr 22, 6-7 PM (0)
Apr 22, 7-8 PM (0)
Apr 22, 8-9 PM (0)
Apr 22, 9-10 PM (0)
Apr 22, 10-11 PM (0)
Apr 22, 11-12 AM (0)
Apr 23, 12-1 AM (0)
Apr 23, 1-2 AM (0)
Apr 23, 2-3 AM (0)
Apr 23, 3-4 AM (0)
Apr 23, 4-5 AM (0)
Apr 23, 5-6 AM (3)
Apr 23, 6-7 AM (4)
Apr 23, 7-8 AM (0)
Apr 23, 8-9 AM (6)
Apr 23, 9-10 AM (5)
Apr 23, 10-11 AM (4)
Apr 23, 11-12 PM (1)
Apr 23, 12-1 PM (11)
Apr 23, 1-2 PM (0)
Apr 23, 2-3 PM (0)
Apr 23, 3-4 PM (0)
Apr 23, 4-5 PM (0)
Apr 23, 5-6 PM (0)
Apr 23, 6-7 PM (0)
Apr 23, 7-8 PM (0)
Apr 23, 8-9 PM (0)
Apr 23, 9-10 PM (0)
Apr 23, 10-11 PM (0)
Apr 23, 11-12 AM (0)
Apr 24, 12-1 AM (0)
Apr 24, 1-2 AM (0)
Apr 24, 2-3 AM (0)
83 commits this week
Apr 17, 2025
-
Apr 24, 2025
fix termination issue - review comments
squash later
use strict maybe
remove some comments
These probably don't make sense in light of Mux being published as a stand alone library on hackage. Squash after review Rename MuxTracersBundle to Tracers
inbound governor review comments
move information channel to inboundgovernor use strict maybe move responderIgTracer to top level and rename to inboundGovernorMuxTracer
move newconnectioninfo to connectionhandler
let connection handler/mux inform the IG of new connections This type is needed to avoid circular dependency, and also is useful for its Show instance.
review comments
This shrinks AcceptedConnectionLimits fields one by one, instead of simultaneously all at once, for a better minimal result. Added Skip command to diffusion testnet script. This is only generated for failed test cases by the shrinker. Sometimes we can generate a simpler command script by dropping a specific command, or a whole series of commands, and extend the delays (in effect, 'unshrinking' the delay of when the command is applied) of the remaining ones For eg. JoinNetwork 0 : Reconfigure 5 : Reconfigure 10 : Reconfigure 15 : Kill 2 Can be simplied to JoinNetwork 0 : Kill 32 when the intermediate reconfigures are skipped - the shrinker changes them to Skip and the candidate is passed here. It is important that the overall test duration is not shrunk at this stage, since a failed test might depend on some minimal run duration. If the property still fails, then the original commands are not contributing factors, but what is important is that the node has to run at least that long for the test case to fail. With such a simplified command script, the execution duration can be shrunk in the following shrinker iterations. Some commands may be just noise, and all they do is cause unnecessary work slowing down the shrinker as it attempts to shrink them individually. This only increases the search space without any benefit in the end. The skips are removed from the fixed up script, just the effect of their duration is applied to the following first non-skip command. If a specific command is in fact significant for the property to fail, for eg. the test passes if Reconfigure is changed to Skip, the shrinker will backtrack and keep that command and continue with shrinking the rest. The bottom line is that the minimal example and running time are both improved, significantly as observed in practice. squash later
review - unrefactor refactor diffusion
Make egress poll interval configurable
Make the egress queue's poll interval configurable.
Make egress poll interval configurable
Make the egress queue's poll interval configurable.
Make egress poll interval configurable
Make the egress queue's poll interval configurable.
bugfix closing outbound connection
A race condition was identified which would manifest as an exception raised in the CM when attempting to acquire an outbound connection to a peer which is in a cooling state. This could happen when for eg. when churn demotes a warm peer and then immediately promote the same peer. Currently, the peer being demoted is removed too early from the established & inProgressDemoteWarm sets in the outbound governor's private state. The proposed fix ensure that the peer is completely demoted to Cold before it is removed from those sets. Addressed review comments
analogous fix to active peers
Remove the failure from both active and established sets.
Reworked termination bugfix also changes due to review comments
Reworked termination bugfix also changes due to review comments
Require at least a full SDU from the kernel.
Use RecvLowWater to signal that we want to read at least the length of the SDU.
Use a ByteString Builder for ingress
Use a Builder for ingress. Messages shorter than 128 bytes will be copied.
Benchmarks for ingress queuing
poll the egress queue
Poll the egress queue at most 1000 times per second. This gives us an oppertunity to pack multiple messages into larger SDUs, and write those SDUs with a single sendMany call.
Implement an optional read buffer for mux bearers
This implements an optional read buffer for the Socket bearer. If provided with a read buffer the socket bearer will read as much data available on the socket that can fit in the read buffer. Subsequent read requests will first be served data from the buffer.
Threaded benchmark for muxer and demuxer
add a writeMany option for batch sending of SDUs
Permit sending of multiple SDUs through a single call to sendMany for Socket bearers Bearers without vector IO support emulate it through multiple calls to write.
Define msHeaderLength
Define msHeaderLength and use it instead of 8 as hardcoded headerlength.
size limits for self connect test