Module asuran::repository::backend::common::sync_backend[][src]

Expand description

This module contains syncronous versions of the backend trait, as well as an abstraction for implementing the main, async traits through holding the syncronous version in a task.

This trait is not meant to be consumed directly by a user of this library.

Implementors of this trait are required to be send (as the operations are handled on an async task), however, they are not required to be sync.

Addtionally, as only one direct consumer of these traits is expected to exist, the implementors are not required to be Clone.

Methods in this module are intentionally left undocumented, as they are indented to be syncronus versions of their async equivlants in the main Backend traits.

Structs

Wrapper Type for sync backends that converts them into async backends

Traits

Note: In this version of the trait, the get index and get archive methods return mutable references, instead of owned values. As this version of the trait is intrinsically single threaded, implementers are expected to own a single instance of their Index and Manifest impls, and the reference will never leak outside of their container task.