Skip to main content

ExternalTempFileProvider

Trait ExternalTempFileProvider 

Source
pub trait ExternalTempFileProvider: Send + Sync {
    // Required methods
    fn create<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        file_group: &'life1 str,
        file_id: &'life2 str,
    ) -> Pin<Box<dyn Future<Output = Result<Writer, Error>> + Send + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait,
             'life1: 'async_trait,
             'life2: 'async_trait;
    fn read_all<'life0, 'life1, 'async_trait>(
        &'life0 self,
        file_group: &'life1 str,
    ) -> Pin<Box<dyn Future<Output = Result<Vec<(String, Reader)>, Error>> + Send + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait,
             'life1: 'async_trait;
}
Expand description

Trait for managing intermediate files to control memory usage for a particular index.

Required Methods§

Source

fn create<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, file_group: &'life1 str, file_id: &'life2 str, ) -> Pin<Box<dyn Future<Output = Result<Writer, Error>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait,

Creates and opens a new intermediate file associated with a specific file_group for writing. The implementation should ensure that the file does not already exist.

  • file_group: a unique identifier for the group of files
  • file_id: a unique identifier for the new file
Source

fn read_all<'life0, 'life1, 'async_trait>( &'life0 self, file_group: &'life1 str, ) -> Pin<Box<dyn Future<Output = Result<Vec<(String, Reader)>, Error>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,

Retrieves all intermediate files and their associated file identifiers for a specific file_group.

file_group is a unique identifier for the group of files.

Dyn Compatibility§

This trait is dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementors§

Source§

impl ExternalTempFileProvider for MockExternalTempFileProvider

Trait for managing intermediate files to control memory usage for a particular index.