hotmint_consensus/
network.rs1use hotmint_types::epoch::EpochNumber;
2use hotmint_types::evidence::EquivocationProof;
3use hotmint_types::{ConsensusMessage, ValidatorId, ValidatorSet};
4
5pub type MsgSender = tokio::sync::mpsc::Sender<(Option<ValidatorId>, ConsensusMessage)>;
7pub type MsgReceiver = tokio::sync::mpsc::Receiver<(Option<ValidatorId>, ConsensusMessage)>;
8
9pub trait NetworkSink: Send + Sync {
10 fn broadcast(&self, msg: ConsensusMessage);
11 fn send_to(&self, target: ValidatorId, msg: ConsensusMessage);
12 fn on_epoch_change(&self, _epoch: EpochNumber, _new_validator_set: &ValidatorSet) {}
15
16 fn broadcast_evidence(&self, _proof: &EquivocationProof) {}
19}