IntersectMBO / ouroboros-network

Specifications of network protocols and implementations of components running these protocols which support a family of Ouroboros Consesus protocols; the diffusion layer of the Cardano Node.
https://ouroboros-network.cardano.intersectmbo.org
Apache License 2.0
276 stars 86 forks source link

Refactor `peerMonitoringLoop` and outbound governor `deactivatePeerConnection` calls #4767

Open bolt12 opened 8 months ago

bolt12 commented 8 months ago
coot commented 1 month ago

The role of deactivatePeerConnection in the outbound-governor should be limited to waiting for the termination of all hot mini-protocols and then either returning or throwing an exception.

deactivatePeerConnection is to demote a hot peer to a warm one, not just to block on the transition. The outbound-governor is the active component which needs to have ways to promote and demote connections.