pub struct Sample {
pub timestamp: f64,
pub pushthrough: bool,
pub data: SampleData,
}Expand description
A timestamped multi-channel sample.
Fields§
§timestamp: f64§pushthrough: bool§data: SampleDataImplementations§
Source§impl Sample
impl Sample
Sourcepub fn new(fmt: ChannelFormat, num_channels: u32, timestamp: f64) -> Self
pub fn new(fmt: ChannelFormat, num_channels: u32, timestamp: f64) -> Self
Create a new sample with the given format, channel count, timestamp, and default data.
Sourcepub fn assign_f32(&mut self, src: &[f32])
pub fn assign_f32(&mut self, src: &[f32])
Assign float data
Sourcepub fn retrieve_f32(&self, dst: &mut [f32])
pub fn retrieve_f32(&self, dst: &mut [f32])
Retrieve float data
Sourcepub fn assign_f64(&mut self, src: &[f64])
pub fn assign_f64(&mut self, src: &[f64])
Assign double data
Sourcepub fn retrieve_f64(&self, dst: &mut [f64])
pub fn retrieve_f64(&self, dst: &mut [f64])
Retrieve double data
pub fn assign_i32(&mut self, src: &[i32])
pub fn retrieve_i32(&self, dst: &mut [i32])
pub fn assign_i64(&mut self, src: &[i64])
pub fn retrieve_i64(&self, dst: &mut [i64])
pub fn assign_i16(&mut self, src: &[i16])
pub fn retrieve_i16(&self, dst: &mut [i16])
pub fn assign_i8(&mut self, src: &[i8])
pub fn retrieve_i8(&self, dst: &mut [i8])
pub fn assign_strings(&mut self, src: &[String])
pub fn retrieve_strings(&self) -> Vec<String>
Sourcepub fn assign_raw(&mut self, data: &[u8])
pub fn assign_raw(&mut self, data: &[u8])
Assign raw bytes (for numeric non-string formats)
Sourcepub fn retrieve_raw(&self) -> Vec<u8> ⓘ
pub fn retrieve_raw(&self) -> Vec<u8> ⓘ
Retrieve raw bytes
Sourcepub fn serialize_110(&self, buf: &mut Vec<u8>)
pub fn serialize_110(&self, buf: &mut Vec<u8>)
Serialize a sample to bytes (protocol 1.10, little-endian, no byte-order swap).
Sourcepub fn deserialize_110<R: Read>(
reader: &mut R,
fmt: ChannelFormat,
num_channels: u32,
) -> IoResult<Sample>
pub fn deserialize_110<R: Read>( reader: &mut R, fmt: ChannelFormat, num_channels: u32, ) -> IoResult<Sample>
Deserialize a sample from a reader (protocol 1.10, little-endian).
Sourcepub fn serialize_100(&self, buf: &mut Vec<u8>)
pub fn serialize_100(&self, buf: &mut Vec<u8>)
Serialize a sample to bytes (protocol 1.00). Protocol 1.00: every sample has an 8-byte timestamp (no tag byte), strings use 4-byte length prefix.
Sourcepub fn deserialize_100<R: Read>(
reader: &mut R,
fmt: ChannelFormat,
num_channels: u32,
) -> IoResult<Sample>
pub fn deserialize_100<R: Read>( reader: &mut R, fmt: ChannelFormat, num_channels: u32, ) -> IoResult<Sample>
Deserialize a sample from a reader (protocol 1.00).
Sourcepub fn assign_test_pattern(&mut self, offset: i32)
pub fn assign_test_pattern(&mut self, offset: i32)
Generate a test pattern matching liblsl’s assign_test_pattern
pub fn num_channels(&self) -> usize
pub fn format(&self) -> ChannelFormat
Trait Implementations§
Auto Trait Implementations§
impl Freeze for Sample
impl RefUnwindSafe for Sample
impl Send for Sample
impl Sync for Sample
impl Unpin for Sample
impl UnsafeUnpin for Sample
impl UnwindSafe for Sample
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more