pub struct InProcessClusterTransport { /* private fields */ }Expand description
Channel-backed cluster transport. Discovers peers through a shared
InProcessRegistry. Construct one per node, register the daemon’s
gossip inbox + a RemoteMessageSink via Self::start, and call
Self::send_remote to push remote-tells.
Implementations§
Source§impl InProcessClusterTransport
impl InProcessClusterTransport
pub fn new(self_addr: Address, registry: Arc<InProcessRegistry>) -> Self
pub fn self_address(&self) -> &Address
Sourcepub fn send_remote(
&self,
target: &Address,
target_path: String,
manifest: String,
payload: Vec<u8>,
sender_path: Option<String>,
)
pub fn send_remote( &self, target: &Address, target_path: String, manifest: String, payload: Vec<u8>, sender_path: Option<String>, )
Send a RemoteTell frame to target. Drops silently if the
peer is not registered — matches the best-effort semantics of
GossipTransport::send.
Sourcepub fn start(
&self,
gossip_inbox: UnboundedSender<GossipPdu>,
sink: Arc<dyn RemoteMessageSink>,
)
pub fn start( &self, gossip_inbox: UnboundedSender<GossipPdu>, sink: Arc<dyn RemoteMessageSink>, )
Spawn the inbound demultiplex task. gossip_inbox is the
daemon’s crate::ClusterDaemonHandle::gossip_inbox sender;
sink receives RemoteTell frames.
Trait Implementations§
Source§impl Drop for InProcessClusterTransport
impl Drop for InProcessClusterTransport
Auto Trait Implementations§
impl !Freeze for InProcessClusterTransport
impl !RefUnwindSafe for InProcessClusterTransport
impl Send for InProcessClusterTransport
impl Sync for InProcessClusterTransport
impl Unpin for InProcessClusterTransport
impl UnsafeUnpin for InProcessClusterTransport
impl !UnwindSafe for InProcessClusterTransport
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more