Struct terminus_store::store::Store[][src]

pub struct Store { /* fields omitted */ }

A store, storing a set of layers and database labels pointing to these layers.

Implementations

impl Store[src]

pub fn new<Labels: 'static + LabelStore, Layers: 'static + LayerStore>(
    label_store: Labels,
    layer_store: Layers
) -> Store
[src]

Create a new store from the given label and layer store.

pub async fn create(&self, label: &str) -> Result<NamedGraph>[src]

Create a new database with the given name.

If the database already exists, this will return an error.

pub async fn open(&self, label: &str) -> Result<Option<NamedGraph>>[src]

Open an existing database with the given name, or None if it does not exist.

pub async fn get_layer_from_id(
    &self,
    layer: [u32; 5]
) -> Result<Option<StoreLayer>>
[src]

Retrieve a layer with the given name from the layer store this Store was initialized with.

pub async fn create_base_layer(&self) -> Result<StoreLayerBuilder>[src]

Create a base layer builder, unattached to any database label.

After having committed it, use set_head on a NamedGraph to attach it.

pub fn export_layers(
    &self,
    layer_ids: Box<dyn Iterator<Item = [u32; 5]>>
) -> Vec<u8>
[src]

Export the given layers by creating a pack, a Vec that can later be used with import_layers on a different store.

pub fn import_layers(
    &self,
    pack: &[u8],
    layer_ids: Box<dyn Iterator<Item = [u32; 5]>>
) -> Result<(), Error>
[src]

Import the specified layers from the given pack, a byte slice that was previously generated with export_layers, on another store, and possibly even another machine).

After this operation, the specified layers will be retrievable from this store, provided they existed in the pack. specified layers that are not in the pack are silently ignored.

Trait Implementations

impl Clone for Store[src]

Auto Trait Implementations

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> Pointable for T

type Init = T

The type for initializers.

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

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