Struct creek_core::read::ReadStreamOptions
source · 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>where
D::AdditionalOpts: Clone,
impl<D: Clone + Decoder> Clone for ReadStreamOptions<D>where
D::AdditionalOpts: Clone,
source§fn clone(&self) -> ReadStreamOptions<D>
fn clone(&self) -> ReadStreamOptions<D>
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read more