pub struct ReadStreamOptions<D: Decoder> {
    pub num_cache_blocks: usize,
    pub num_caches: usize,
    pub additional_opts: D::AdditionalOpts,
    pub num_look_ahead_blocks: usize,
    pub block_size: usize,
    pub server_msg_channel_size: Option<usize>,
}
Expand description

Options for a read stream.

Fields§

§num_cache_blocks: usize

The number of prefetch blocks in a cache block. This will cause a cache to be used whenever the stream is seeked to a frame in the range:

[cache_start, cache_start + (num_cache_blocks * block_size))

If this is 0, then the cache is only used when seeked to exactly cache_start.

§num_caches: usize

The maximum number of caches that can be active in this stream. Keep in mind each cache uses some memory (but memory is only allocated when the cache is created).

The default is 1.

§additional_opts: D::AdditionalOpts

Any additional decoder-specific options.

§num_look_ahead_blocks: usize

The number of prefetch blocks to store ahead of the cache block. This must be sufficiently large to ensure enough to time to fill the buffer in the worst case latency scenerio.

This should be left alone unless you know what you are doing.

§block_size: usize

The number of frames in a prefetch block.

This should be left alone unless you know what you are doing.

§server_msg_channel_size: Option<usize>

The size of the realtime ring buffer that sends data to and from the stream the the internal IO server. This must be sufficiently large enough to avoid stalling the channels.

Set this to None to automatically find a generous size based on the other read options. This should be left as None unless you know what you are doing.

The default is None.

Trait Implementations§

source§

impl<D: Clone + Decoder> Clone for ReadStreamOptions<D>

source§

fn clone(&self) -> ReadStreamOptions<D>

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl<D: Debug + Decoder> Debug for ReadStreamOptions<D>

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl<D: Decoder> Default for ReadStreamOptions<D>

source§

fn default() -> Self

Returns the “default value” for a type. Read more
source§

impl<D: Copy + Decoder> Copy for ReadStreamOptions<D>
where D::AdditionalOpts: Copy,

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> Into<U> for T
where U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T> ToOwned for T
where T: Clone,

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.