Skip to main content

ObjectStoreRemote

Struct ObjectStoreRemote 

Source
pub struct ObjectStoreRemote<H> { /* private fields */ }
Expand description

Repository backed by an object_store compatible storage backend.

All data is stored in an external service (e.g. S3, local filesystem) via the object_store crate.

Implementations§

Source§

impl<H> ObjectStoreRemote<H>

Source

pub fn with_url(url: &Url) -> Result<ObjectStoreRemote<H>, Error>

Creates a repository pointing at the object store described by url.

Trait Implementations§

Source§

impl<H> BlobStore<H> for ObjectStoreRemote<H>
where H: HashProtocol,

Source§

type Reader = ObjectStoreReader<H>

A clonable reader handle for concurrent blob lookups.
Source§

type ReaderError = Infallible

Error type for creating a reader.
Source§

fn reader(&mut self) -> Result<Self::Reader, Self::ReaderError>

Creates a shareable reader snapshot of the current store state.
Source§

impl<H> BlobStoreForget<H> for ObjectStoreRemote<H>
where H: HashProtocol,

Source§

type ForgetError = Error

Error type for forget operations.
Source§

fn forget<S>( &mut self, handle: Value<Handle<H, S>>, ) -> Result<(), Self::ForgetError>
where S: BlobSchema + 'static, Handle<H, S>: ValueSchema,

Removes the materialized blob identified by handle from this store.
Source§

impl<H> BlobStorePut<H> for ObjectStoreRemote<H>
where H: HashProtocol,

Source§

type PutError = Error

Error type for put operations.
Source§

fn put<S, T>(&mut self, item: T) -> Result<Value<Handle<H, S>>, Self::PutError>
where S: BlobSchema + 'static, T: ToBlob<S>, Handle<H, S>: ValueSchema,

Serialises item as a blob, stores it, and returns its handle.
Source§

impl<H> BranchStore<H> for ObjectStoreRemote<H>
where H: HashProtocol,

Source§

type BranchesError = ListBranchesErr

Error type for listing branches.
Source§

type HeadError = PullBranchErr

Error type for head lookups.
Source§

type UpdateError = PushBranchErr

Error type for CAS updates.
Source§

type ListIter<'a> = BlockingIter<Result<Id, <ObjectStoreRemote<H> as BranchStore<H>>::BranchesError>>

Iterator over branch IDs.
Source§

fn branches<'a>(&'a mut self) -> Result<Self::ListIter<'a>, Self::BranchesError>

Lists all branches in the repository. This function returns a stream of branch ids.
Source§

fn head( &mut self, id: Id, ) -> Result<Option<Value<Handle<H, SimpleArchive>>>, Self::HeadError>

Retrieves a branch from the repository by its id. The id is a unique identifier for the branch, and is used to retrieve it from the repository. Read more
Source§

fn update( &mut self, id: Id, old: Option<Value<Handle<H, SimpleArchive>>>, new: Option<Value<Handle<H, SimpleArchive>>>, ) -> Result<PushResult<H>, Self::UpdateError>

Puts a branch on the repository, creating or updating it. Read more
Source§

impl<H> Debug for ObjectStoreRemote<H>

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl<H> StorageClose for ObjectStoreRemote<H>

Source§

type Error = Infallible

Error type returned by close.
Source§

fn close(self) -> Result<(), Self::Error>

Consume the storage and perform any necessary cleanup.

Auto Trait Implementations§

§

impl<H> Freeze for ObjectStoreRemote<H>

§

impl<H> !RefUnwindSafe for ObjectStoreRemote<H>

§

impl<H> Send for ObjectStoreRemote<H>
where H: Send,

§

impl<H> Sync for ObjectStoreRemote<H>
where H: Sync,

§

impl<H> Unpin for ObjectStoreRemote<H>
where H: Unpin,

§

impl<H> UnsafeUnpin for ObjectStoreRemote<H>

§

impl<H> !UnwindSafe for ObjectStoreRemote<H>

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> IntoEither for T

Source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts self into a Left variant of Either<Self, Self> if into_left is true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> if into_left(&self) returns true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

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>,

Source§

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