pub struct StoreWriter { /* private fields */ }
Expand description

The StoreWriter struct maintains state to put more data in the store. It keeps track of the index and data file it’s currently working on so in the common case it can just append data. When it rolls over to a new shard, it will recreate itself.

Implementations§

source§

impl StoreWriter

source

pub fn new<P: AsRef<Path>>( logger: Logger, path: P, compression_mode: CompressionMode, format: Format ) -> Result<Self>

Create a new StoreWriter that writes data to path directory. Data serialized with format.

If compression_mode is set, dataframes are zstd compressed, as defined by compression_mode.

source

pub fn new_with_timestamp<P: AsRef<Path>>( logger: Logger, path: P, timestamp: SystemTime, compression_mode: CompressionMode, format: Format ) -> Result<Self>

source

pub fn put(&mut self, timestamp: SystemTime, data: &DataFrame) -> Result<bool>

Store data with corresponding timestamp. Returns true if a new shard is created and data is written successfully. Errors may be returned if file operations fail.

source

pub fn discard_earlier(&self, timestamp: SystemTime) -> Result<()>

Discard all data earlier than timestamp

We do not modify index and data files. We just look for files which can only contain earlier data and remove them.

source

pub fn try_discard_until_size(&self, store_size_limit: u64) -> Result<bool>

Discard data until store size is less than limit, or there is only one shard left. Oldest shards are discarded first. Returns true on success or false if the current shard size is greater than the limit.

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, 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.
source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

source§

fn vzip(self) -> V

source§

impl<T> With for T

source§

fn wrap_with<U, F>(self, f: F) -> U
where F: FnOnce(Self) -> U,

Calls the given closure and return the result. Read more
source§

fn with<F>(self, f: F) -> Self
where F: FnOnce(&mut Self),

Calls the given closure on self.
source§

fn try_with<E, F>(self, f: F) -> Result<Self, E>
where F: FnOnce(&mut Self) -> Result<(), E>,

Calls the given closure on self.
source§

fn with_if<F>(self, condition: bool, f: F) -> Self
where F: FnOnce(&mut Self),

Calls the given closure if condition == true.
source§

impl<T> Erased for T

source§

impl<T> SendSyncUnwindSafe for T
where T: Send + Sync + UnwindSafe + ?Sized,