struct SharedBufferBgReader {
stop: AtomicBool,
error: RwLock<Result<usize>>,
newly_read_data: RwLock<Vec<Arc<Vec<u8>>>>,
newly_read_data_signal: WaitableCondvar,
buffers: RwLock<Vec<Arc<Vec<u8>>>>,
new_buffer_signal: WaitableCondvar,
bg_eof_reached: AtomicBool,
}
Fields§
§stop: AtomicBool
§error: RwLock<Result<usize>>
§newly_read_data: RwLock<Vec<Arc<Vec<u8>>>>
§newly_read_data_signal: WaitableCondvar
§buffers: RwLock<Vec<Arc<Vec<u8>>>>
§new_buffer_signal: WaitableCondvar
§bg_eof_reached: AtomicBool
Implementations§
fn new() -> Self
fn default_wait_timeout() -> Duration
fn wait_for_new_buffer(&self) -> bool
fn num_buffers(total_buffer_budget: usize, chunk_size: usize) -> usize
fn set_error(&self, error: Error)
fn read_entire_file_in_bg<T: 'static + Read + Send>( &self, reader: T, total_buffer_budget: usize, chunk_size: usize )
Trait Implementations§
Auto Trait Implementations§
Blanket Implementations§
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more