pub struct TransportProfile { /* private fields */ }Expand description
The capability and latency contract a transport offers for a stream.
A profile pairs a name with a LatencyClass and a set of
StreamCapability values, validated for mutual consistency at
construction. The named constructors provide the standard fabric presets;
fields are private and read through the accessor methods.
Implementations§
Source§impl TransportProfile
impl TransportProfile
Sourcepub fn new(
name: Symbol,
latency_class: LatencyClass,
capabilities: Vec<StreamCapability>,
) -> Result<Self>
pub fn new( name: Symbol, latency_class: LatencyClass, capabilities: Vec<StreamCapability>, ) -> Result<Self>
Builds a profile from a name, latency class, and capability set.
Rejects inconsistent combinations – for example Exact together with
Lossy, or Realtime under a non-real-time latency class – returning
an error rather than a profile.
Sourcepub fn memory_local() -> Self
pub fn memory_local() -> Self
Preset profile for in-process, in-memory streaming: block-local latency with exact, deterministic, bounded, replayable delivery.
Sourcepub fn realtime_local_audio() -> Self
pub fn realtime_local_audio() -> Self
Preset profile for local real-time audio: sample-exact latency with exact, real-time, bounded delivery.
Sourcepub fn buffered_pcm_preview() -> Self
pub fn buffered_pcm_preview() -> Self
Preset profile for buffered PCM preview: buffered-preview latency with bounded, preview, lossy delivery.
Sourcepub fn remote_stream_fabric() -> Self
pub fn remote_stream_fabric() -> Self
Preset profile for the remote stream fabric: remote-collaboration latency with remote, bounded, replayable, resumable delivery.
Sourcepub fn lan_midi_control() -> Self
pub fn lan_midi_control() -> Self
Preset profile for LAN MIDI control: interactive latency with remote, bounded, replayable delivery.
Sourcepub fn lan_buffered_audio_preview() -> Self
pub fn lan_buffered_audio_preview() -> Self
Preset profile for LAN buffered audio preview: buffered-preview latency with remote, bounded, preview, lossy delivery.
Sourcepub fn lan_render_return() -> Self
pub fn lan_render_return() -> Self
Preset profile for LAN render return: offline-render latency with remote, bounded, deterministic, replayable, resumable delivery.
Sourcepub fn latency_class(&self) -> LatencyClass
pub fn latency_class(&self) -> LatencyClass
Returns the latency class this profile promises.
Sourcepub fn capabilities(&self) -> &[StreamCapability]
pub fn capabilities(&self) -> &[StreamCapability]
Returns the capabilities this profile grants.
Sourcepub fn has_capability(&self, capability: StreamCapability) -> bool
pub fn has_capability(&self, capability: StreamCapability) -> bool
Returns whether this profile grants capability.
Sourcepub fn to_expr(&self) -> Expr
pub fn to_expr(&self) -> Expr
Encodes this profile into its Expr map wire form.
Round-trips back through TransportProfile::from_expr.
Trait Implementations§
Source§impl Clone for TransportProfile
impl Clone for TransportProfile
Source§fn clone(&self) -> TransportProfile
fn clone(&self) -> TransportProfile
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for TransportProfile
impl Debug for TransportProfile
impl Eq for TransportProfile
Source§impl PartialEq for TransportProfile
impl PartialEq for TransportProfile
Source§fn eq(&self, other: &TransportProfile) -> bool
fn eq(&self, other: &TransportProfile) -> bool
self and other values to be equal, and is used by ==.