#![doc(
html_logo_url = "https://commonware.xyz/imgs/rustdoc_logo.svg",
html_favicon_url = "https://commonware.xyz/favicon.ico"
)]
commonware_macros::stability_scope!(BETA {
use commonware_codec::Codec;
use commonware_utils::channel::oneshot;
use std::future::Future;
pub mod buffered;
pub trait Broadcaster: Clone + Send + 'static {
type Recipients;
type Message: Codec + Clone + Send + 'static;
type Response: Clone + Send + 'static;
fn broadcast(
&self,
recipients: Self::Recipients,
message: Self::Message,
) -> impl Future<Output = oneshot::Receiver<Self::Response>> + Send;
}
});