pub trait SignalPlane {
// Required methods
fn set_members(&mut self, members: Vec<String>);
fn publish(&mut self, from: String, message: SignalPlaneMessage);
fn drain_received(&mut self, member: &String) -> Vec<ReceivedSignal>;
}Expand description
Narrow internal seam for signal dissemination.
Implementations receive authoritative membership as input and disseminate the closed signal vocabulary. They do not expose join, ownership, voting, or bootstrap APIs.
Required Methods§
Sourcefn set_members(&mut self, members: Vec<String>)
fn set_members(&mut self, members: Vec<String>)
Replace the admitted-member set this signal plane may talk to.
Sourcefn publish(&mut self, from: String, message: SignalPlaneMessage)
fn publish(&mut self, from: String, message: SignalPlaneMessage)
Publish a non-authoritative signal from an admitted member.
Sourcefn drain_received(&mut self, member: &String) -> Vec<ReceivedSignal>
fn drain_received(&mut self, member: &String) -> Vec<ReceivedSignal>
Drain signals delivered to member.
Dyn Compatibility§
This trait is dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".