use crate::threshold_simplex::types::Voter; use commonware_cryptography::{bls12381::primitives::variant::Variant, Digest}; use futures::{channel::mpsc, stream, SinkExt}; // If either of these requests fails, it will not send a reply. pub enum Message { Verified(Voter), } #[derive(Clone)] pub struct Mailbox { sender: mpsc::Sender>, } impl Mailbox { pub fn new(sender: mpsc::Sender>) -> Self { Self { sender } } pub async fn verified(&mut self, voters: Vec>) { self.sender .send_all(&mut stream::iter( voters.into_iter().map(|voter| Ok(Message::Verified(voter))), )) .await .expect("Failed to send batch of voters"); } }