Skip to content
  • Max Inden's avatar
    client/network-gossip: Move sink IO outside of state_machine (#5669) · 99adaeb0
    Max Inden authored
    
    
    * client/network-gossip: Move sink IO outside of state_machine
    
    `ConsensusGossip` is supposed to be a deterministic state machine.
    `GossipEngine` wrapping `ConsensusGossip` should handle IO operations.
    
    This commit moves the `message_sink` IO operations to `GossipEngine`.
    More specifically on incoming messages a `GossipEngine` calls
    `ConsensusGossip::on_incoming` to validate and register the messages.
    `ConsensusGossip` returns the valid messages which are then forwarded by
    `GossipEngine` to the upper layer via the `message_sinks`.
    
    * client/network-gossip: Adjust and extend tests
    
    * Update client/network-gossip/src/bridge.rs
    
    Co-authored-by: default avatarBenjamin Kampmann <[email protected]>
    99adaeb0