Skip to main content

NetworkLinkNode

Trait NetworkLinkNode 

Source
pub trait NetworkLinkNode: AudioNode {
    // Required method
    fn remote(&self) -> &RemoteNode;
}
Available on crate feature distributed only.
Expand description

Contract for a network link node — a node that exchanges audio with a RemoteNode across the network.

A network link node MUST follow the rtrb bridge pattern demonstrated by RingSource and RingSink:

  • The worker thread performs the RTP/AES67 recv/send and pushes received frames into an rtrb ring producer. Allocation and blocking I/O are allowed here — this path is not real-time.
  • The RT process implementation performs only a wait-free ring consumer pop (or a bounded copy into a pre-sized stash) — no allocation, lock, panic, or syscall.

sonicbrew’s net-rtp-aes67 crate (M09) is the canonical implementor.

Required Methods§

Source

fn remote(&self) -> &RemoteNode

Returns the remote node this link communicates with.

Dyn Compatibility§

This trait is dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementors§