Skip to main content

Resolver

Trait Resolver 

Source
pub trait Resolver:
    Send
    + Sync
    + Clone
    + 'static {
    type Family: Family;
    type Digest: Digest;
    type Op;
    type Error: Error + Send + 'static;

    // Required method
    fn get_operations<'a>(
        &'a self,
        op_count: Location<Self::Family>,
        start_loc: Location<Self::Family>,
        max_ops: NonZeroU64,
        include_pinned_nodes: bool,
        cancel_rx: Receiver<()>,
    ) -> impl Future<Output = Result<FetchResult<Self::Family, Self::Op, Self::Digest>, Self::Error>> + Send + 'a;
}
Expand description

Trait for network communication with the sync server.

Required Associated Types§

Source

type Family: Family

The merkle family backing the resolver’s proofs

Source

type Digest: Digest

The digest type used in proofs returned by the resolver

Source

type Op

The type of operations returned by the resolver

Source

type Error: Error + Send + 'static

The error type returned by the resolver

Required Methods§

Source

fn get_operations<'a>( &'a self, op_count: Location<Self::Family>, start_loc: Location<Self::Family>, max_ops: NonZeroU64, include_pinned_nodes: bool, cancel_rx: Receiver<()>, ) -> impl Future<Output = Result<FetchResult<Self::Family, Self::Op, Self::Digest>, Self::Error>> + Send + 'a

Get the operations starting at start_loc in the database, up to max_ops operations. Returns the operations and a proof that they were present in the database when it had op_count operations. If include_pinned_nodes is true, the result will include the pinned merkle nodes at start_loc.

The corresponding cancel_tx is dropped when the engine no longer needs this request (e.g. due to a target update), causing cancel_rx.await to return Err. Implementations may select! on it to abort in-flight work early.

Dyn Compatibility§

This trait is not dyn compatible.

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

Implementations on Foreign Types§

Source§

impl<F, E, K, V, H, T, S> Resolver for Arc<AsyncRwLock<Option<Db<F, E, K, V, H, T, S>>>>
where F: Family, E: Context, K: Array, V: FixedValue + Send + Sync + 'static, H: Hasher, T: Translator + Send + Sync + 'static, T::Key: Send + Sync, S: Strategy,

Source§

type Family = F

Source§

type Digest = <H as Hasher>::Digest

Source§

type Op = Operation<F, Update<K, FixedEncoding<V>>>

Source§

type Error = Error<F>

Source§

async fn get_operations( &self, op_count: Location<Self::Family>, start_loc: Location<Self::Family>, max_ops: NonZeroU64, include_pinned_nodes: bool, _cancel_rx: Receiver<()>, ) -> Result<FetchResult<Self::Family, Self::Op, Self::Digest>, Self::Error>

Source§

impl<F, E, K, V, H, T, S> Resolver for Arc<AsyncRwLock<Option<Db<F, E, K, V, H, T, S>>>>
where F: Family, E: Context, K: Array, V: VariableValue + Send + Sync + 'static, H: Hasher, T: Translator + Send + Sync + 'static, T::Key: Send + Sync, S: Strategy,

Source§

type Family = F

Source§

type Digest = <H as Hasher>::Digest

Source§

type Op = Operation<F, Update<K, VariableEncoding<V>>>

Source§

type Error = Error<F>

Source§

async fn get_operations( &self, op_count: Location<Self::Family>, start_loc: Location<Self::Family>, max_ops: NonZeroU64, include_pinned_nodes: bool, _cancel_rx: Receiver<()>, ) -> Result<FetchResult<Self::Family, Self::Op, Self::Digest>, Self::Error>

Source§

impl<F, E, K, V, H, T, S> Resolver for Arc<AsyncRwLock<Option<Db<F, E, K, V, H, T, S>>>>
where F: Family, E: Context, K: Array, V: FixedValue + Send + Sync + 'static, H: Hasher, T: Translator + Send + Sync + 'static, T::Key: Send + Sync, S: Strategy,

Source§

type Family = F

Source§

type Digest = <H as Hasher>::Digest

Source§

type Op = Operation<F, Update<K, FixedEncoding<V>>>

Source§

type Error = Error<F>

Source§

async fn get_operations( &self, op_count: Location<Self::Family>, start_loc: Location<Self::Family>, max_ops: NonZeroU64, include_pinned_nodes: bool, _cancel_rx: Receiver<()>, ) -> Result<FetchResult<Self::Family, Self::Op, Self::Digest>, Self::Error>

Source§

impl<F, E, K, V, H, T, S> Resolver for Arc<AsyncRwLock<Option<Db<F, E, K, V, H, T, S>>>>
where F: Family, E: Context, K: Array, V: VariableValue + Send + Sync + 'static, H: Hasher, T: Translator + Send + Sync + 'static, T::Key: Send + Sync, S: Strategy,

Source§

type Family = F

Source§

type Digest = <H as Hasher>::Digest

Source§

type Op = Operation<F, Update<K, VariableEncoding<V>>>

Source§

type Error = Error<F>

Source§

async fn get_operations( &self, op_count: Location<Self::Family>, start_loc: Location<Self::Family>, max_ops: NonZeroU64, include_pinned_nodes: bool, _cancel_rx: Receiver<()>, ) -> Result<FetchResult<Self::Family, Self::Op, Self::Digest>, Self::Error>

Source§

impl<F, E, K, V, H, T, S> Resolver for Arc<AsyncRwLock<Option<Db<F, E, K, V, H, T, S>>>>
where F: Family, E: Context, K: Array, V: FixedValue + Send + Sync + 'static, H: Hasher, T: Translator + Send + Sync + 'static, T::Key: Send + Sync, S: Strategy,

Source§

type Family = F

Source§

type Digest = <H as Hasher>::Digest

Source§

type Op = Operation<F, K, FixedEncoding<V>>

Source§

type Error = Error<F>

Source§

async fn get_operations( &self, op_count: Location<Self::Family>, start_loc: Location<Self::Family>, max_ops: NonZeroU64, include_pinned_nodes: bool, _cancel_rx: Receiver<()>, ) -> Result<FetchResult<Self::Family, Self::Op, Self::Digest>, Self::Error>

Source§

impl<F, E, K, V, H, T, S> Resolver for Arc<AsyncRwLock<Option<Db<F, E, K, V, H, T, S>>>>
where F: Family, E: Context, K: Key, V: VariableValue + Send + Sync + 'static, H: Hasher, T: Translator + Send + Sync + 'static, T::Key: Send + Sync, S: Strategy,

Source§

type Family = F

Source§

type Digest = <H as Hasher>::Digest

Source§

type Op = Operation<F, K, VariableEncoding<V>>

Source§

type Error = Error<F>

Source§

async fn get_operations( &self, op_count: Location<Self::Family>, start_loc: Location<Self::Family>, max_ops: NonZeroU64, include_pinned_nodes: bool, _cancel_rx: Receiver<()>, ) -> Result<FetchResult<Self::Family, Self::Op, Self::Digest>, Self::Error>

Source§

impl<F, E, K, V, H, T, S> Resolver for Arc<AsyncRwLock<Db<F, E, K, V, H, T, S>>>
where F: Family, E: Context, K: Array, V: FixedValue + Send + Sync + 'static, H: Hasher, T: Translator + Send + Sync + 'static, T::Key: Send + Sync, S: Strategy,

Source§

type Family = F

Source§

type Digest = <H as Hasher>::Digest

Source§

type Op = Operation<F, Update<K, FixedEncoding<V>>>

Source§

type Error = Error<F>

Source§

async fn get_operations( &self, op_count: Location<Self::Family>, start_loc: Location<Self::Family>, max_ops: NonZeroU64, include_pinned_nodes: bool, _cancel_rx: Receiver<()>, ) -> Result<FetchResult<Self::Family, Self::Op, Self::Digest>, Self::Error>

Source§

impl<F, E, K, V, H, T, S> Resolver for Arc<AsyncRwLock<Db<F, E, K, V, H, T, S>>>
where F: Family, E: Context, K: Array, V: VariableValue + Send + Sync + 'static, H: Hasher, T: Translator + Send + Sync + 'static, T::Key: Send + Sync, S: Strategy,

Source§

type Family = F

Source§

type Digest = <H as Hasher>::Digest

Source§

type Op = Operation<F, Update<K, VariableEncoding<V>>>

Source§

type Error = Error<F>

Source§

async fn get_operations( &self, op_count: Location<Self::Family>, start_loc: Location<Self::Family>, max_ops: NonZeroU64, include_pinned_nodes: bool, _cancel_rx: Receiver<()>, ) -> Result<FetchResult<Self::Family, Self::Op, Self::Digest>, Self::Error>

Source§

impl<F, E, K, V, H, T, S> Resolver for Arc<AsyncRwLock<Db<F, E, K, V, H, T, S>>>
where F: Family, E: Context, K: Array, V: FixedValue + Send + Sync + 'static, H: Hasher, T: Translator + Send + Sync + 'static, T::Key: Send + Sync, S: Strategy,

Source§

type Family = F

Source§

type Digest = <H as Hasher>::Digest

Source§

type Op = Operation<F, Update<K, FixedEncoding<V>>>

Source§

type Error = Error<F>

Source§

async fn get_operations( &self, op_count: Location<Self::Family>, start_loc: Location<Self::Family>, max_ops: NonZeroU64, include_pinned_nodes: bool, _cancel_rx: Receiver<()>, ) -> Result<FetchResult<Self::Family, Self::Op, Self::Digest>, Self::Error>

Source§

impl<F, E, K, V, H, T, S> Resolver for Arc<AsyncRwLock<Db<F, E, K, V, H, T, S>>>
where F: Family, E: Context, K: Array, V: VariableValue + Send + Sync + 'static, H: Hasher, T: Translator + Send + Sync + 'static, T::Key: Send + Sync, S: Strategy,

Source§

type Family = F

Source§

type Digest = <H as Hasher>::Digest

Source§

type Op = Operation<F, Update<K, VariableEncoding<V>>>

Source§

type Error = Error<F>

Source§

async fn get_operations( &self, op_count: Location<Self::Family>, start_loc: Location<Self::Family>, max_ops: NonZeroU64, include_pinned_nodes: bool, _cancel_rx: Receiver<()>, ) -> Result<FetchResult<Self::Family, Self::Op, Self::Digest>, Self::Error>

Source§

impl<F, E, K, V, H, T, S> Resolver for Arc<AsyncRwLock<Db<F, E, K, V, H, T, S>>>
where F: Family, E: Context, K: Array, V: FixedValue + Send + Sync + 'static, H: Hasher, T: Translator + Send + Sync + 'static, T::Key: Send + Sync, S: Strategy,

Source§

type Family = F

Source§

type Digest = <H as Hasher>::Digest

Source§

type Op = Operation<F, K, FixedEncoding<V>>

Source§

type Error = Error<F>

Source§

async fn get_operations( &self, op_count: Location<Self::Family>, start_loc: Location<Self::Family>, max_ops: NonZeroU64, include_pinned_nodes: bool, _cancel_rx: Receiver<()>, ) -> Result<FetchResult<Self::Family, Self::Op, Self::Digest>, Self::Error>

Source§

impl<F, E, K, V, H, T, S> Resolver for Arc<AsyncRwLock<Db<F, E, K, V, H, T, S>>>
where F: Family, E: Context, K: Key, V: VariableValue + Send + Sync + 'static, H: Hasher, T: Translator + Send + Sync + 'static, T::Key: Send + Sync, S: Strategy,

Source§

type Family = F

Source§

type Digest = <H as Hasher>::Digest

Source§

type Op = Operation<F, K, VariableEncoding<V>>

Source§

type Error = Error<F>

Source§

async fn get_operations( &self, op_count: Location<Self::Family>, start_loc: Location<Self::Family>, max_ops: NonZeroU64, include_pinned_nodes: bool, _cancel_rx: Receiver<()>, ) -> Result<FetchResult<Self::Family, Self::Op, Self::Digest>, Self::Error>

Source§

impl<F, E, K, V, H, T, S> Resolver for Arc<Db<F, E, K, V, H, T, S>>
where F: Family, E: Context, K: Array, V: FixedValue + Send + Sync + 'static, H: Hasher, T: Translator + Send + Sync + 'static, T::Key: Send + Sync, S: Strategy,

Source§

type Family = F

Source§

type Digest = <H as Hasher>::Digest

Source§

type Op = Operation<F, Update<K, FixedEncoding<V>>>

Source§

type Error = Error<F>

Source§

async fn get_operations( &self, op_count: Location<Self::Family>, start_loc: Location<Self::Family>, max_ops: NonZeroU64, include_pinned_nodes: bool, _cancel_rx: Receiver<()>, ) -> Result<FetchResult<Self::Family, Self::Op, Self::Digest>, Self::Error>

Source§

impl<F, E, K, V, H, T, S> Resolver for Arc<Db<F, E, K, V, H, T, S>>
where F: Family, E: Context, K: Array, V: VariableValue + Send + Sync + 'static, H: Hasher, T: Translator + Send + Sync + 'static, T::Key: Send + Sync, S: Strategy,

Source§

type Family = F

Source§

type Digest = <H as Hasher>::Digest

Source§

type Op = Operation<F, Update<K, VariableEncoding<V>>>

Source§

type Error = Error<F>

Source§

async fn get_operations( &self, op_count: Location<Self::Family>, start_loc: Location<Self::Family>, max_ops: NonZeroU64, include_pinned_nodes: bool, _cancel_rx: Receiver<()>, ) -> Result<FetchResult<Self::Family, Self::Op, Self::Digest>, Self::Error>

Source§

impl<F, E, K, V, H, T, S> Resolver for Arc<Db<F, E, K, V, H, T, S>>
where F: Family, E: Context, K: Array, V: FixedValue + Send + Sync + 'static, H: Hasher, T: Translator + Send + Sync + 'static, T::Key: Send + Sync, S: Strategy,

Source§

type Family = F

Source§

type Digest = <H as Hasher>::Digest

Source§

type Op = Operation<F, Update<K, FixedEncoding<V>>>

Source§

type Error = Error<F>

Source§

async fn get_operations( &self, op_count: Location<Self::Family>, start_loc: Location<Self::Family>, max_ops: NonZeroU64, include_pinned_nodes: bool, _cancel_rx: Receiver<()>, ) -> Result<FetchResult<Self::Family, Self::Op, Self::Digest>, Self::Error>

Source§

impl<F, E, K, V, H, T, S> Resolver for Arc<Db<F, E, K, V, H, T, S>>
where F: Family, E: Context, K: Array, V: VariableValue + Send + Sync + 'static, H: Hasher, T: Translator + Send + Sync + 'static, T::Key: Send + Sync, S: Strategy,

Source§

type Family = F

Source§

type Digest = <H as Hasher>::Digest

Source§

type Op = Operation<F, Update<K, VariableEncoding<V>>>

Source§

type Error = Error<F>

Source§

async fn get_operations( &self, op_count: Location<Self::Family>, start_loc: Location<Self::Family>, max_ops: NonZeroU64, include_pinned_nodes: bool, _cancel_rx: Receiver<()>, ) -> Result<FetchResult<Self::Family, Self::Op, Self::Digest>, Self::Error>

Source§

impl<F, E, K, V, H, T, S> Resolver for Arc<Db<F, E, K, V, H, T, S>>
where F: Family, E: Context, K: Array, V: FixedValue + Send + Sync + 'static, H: Hasher, T: Translator + Send + Sync + 'static, T::Key: Send + Sync, S: Strategy,

Source§

type Family = F

Source§

type Digest = <H as Hasher>::Digest

Source§

type Op = Operation<F, K, FixedEncoding<V>>

Source§

type Error = Error<F>

Source§

async fn get_operations( &self, op_count: Location<Self::Family>, start_loc: Location<Self::Family>, max_ops: NonZeroU64, include_pinned_nodes: bool, _cancel_rx: Receiver<()>, ) -> Result<FetchResult<Self::Family, Self::Op, Self::Digest>, Self::Error>

Source§

impl<F, E, K, V, H, T, S> Resolver for Arc<Db<F, E, K, V, H, T, S>>
where F: Family, E: Context, K: Key, V: VariableValue + Send + Sync + 'static, H: Hasher, T: Translator + Send + Sync + 'static, T::Key: Send + Sync, S: Strategy,

Source§

type Family = F

Source§

type Digest = <H as Hasher>::Digest

Source§

type Op = Operation<F, K, VariableEncoding<V>>

Source§

type Error = Error<F>

Source§

async fn get_operations( &self, op_count: Location<Self::Family>, start_loc: Location<Self::Family>, max_ops: NonZeroU64, include_pinned_nodes: bool, _cancel_rx: Receiver<()>, ) -> Result<FetchResult<Self::Family, Self::Op, Self::Digest>, Self::Error>

Source§

impl<F, E, K, V, H, T, const N: usize, S> Resolver for Arc<AsyncRwLock<Option<Db<F, E, K, V, H, T, N, S>>>>
where F: Graftable, E: Context, K: Array, V: FixedValue + Send + Sync + 'static, H: Hasher, T: Translator + Send + Sync + 'static, T::Key: Send + Sync, S: Strategy,

Source§

type Family = F

Source§

type Digest = <H as Hasher>::Digest

Source§

type Op = Operation<F, Update<K, FixedEncoding<V>>>

Source§

type Error = Error<F>

Source§

async fn get_operations( &self, op_count: Location<F>, start_loc: Location<F>, max_ops: NonZeroU64, include_pinned_nodes: bool, _cancel_rx: Receiver<()>, ) -> Result<FetchResult<F, Self::Op, Self::Digest>, Error<F>>

Source§

impl<F, E, K, V, H, T, const N: usize, S> Resolver for Arc<AsyncRwLock<Option<Db<F, E, K, V, H, T, N, S>>>>
where F: Graftable, E: Context, K: Key, V: VariableValue + Send + Sync + 'static, H: Hasher, T: Translator + Send + Sync + 'static, T::Key: Send + Sync, S: Strategy, Operation<F, K, V>: CodecShared,

Source§

type Family = F

Source§

type Digest = <H as Hasher>::Digest

Source§

type Op = Operation<F, Update<K, VariableEncoding<V>>>

Source§

type Error = Error<F>

Source§

async fn get_operations( &self, op_count: Location<F>, start_loc: Location<F>, max_ops: NonZeroU64, include_pinned_nodes: bool, _cancel_rx: Receiver<()>, ) -> Result<FetchResult<F, Self::Op, Self::Digest>, Error<F>>

Source§

impl<F, E, K, V, H, T, const N: usize, S> Resolver for Arc<AsyncRwLock<Option<Db<F, E, K, V, H, T, N, S>>>>
where F: Graftable, E: Context, K: Array, V: FixedValue + Send + Sync + 'static, H: Hasher, T: Translator + Send + Sync + 'static, T::Key: Send + Sync, S: Strategy,

Source§

type Family = F

Source§

type Digest = <H as Hasher>::Digest

Source§

type Op = Operation<F, Update<K, FixedEncoding<V>>>

Source§

type Error = Error<F>

Source§

async fn get_operations( &self, op_count: Location<F>, start_loc: Location<F>, max_ops: NonZeroU64, include_pinned_nodes: bool, _cancel_rx: Receiver<()>, ) -> Result<FetchResult<F, Self::Op, Self::Digest>, Error<F>>

Source§

impl<F, E, K, V, H, T, const N: usize, S> Resolver for Arc<AsyncRwLock<Option<Db<F, E, K, V, H, T, N, S>>>>
where F: Graftable, E: Context, K: Key, V: VariableValue + Send + Sync + 'static, H: Hasher, T: Translator + Send + Sync + 'static, T::Key: Send + Sync, S: Strategy, Operation<F, K, V>: CodecShared,

Source§

type Family = F

Source§

type Digest = <H as Hasher>::Digest

Source§

type Op = Operation<F, Update<K, VariableEncoding<V>>>

Source§

type Error = Error<F>

Source§

async fn get_operations( &self, op_count: Location<F>, start_loc: Location<F>, max_ops: NonZeroU64, include_pinned_nodes: bool, _cancel_rx: Receiver<()>, ) -> Result<FetchResult<F, Self::Op, Self::Digest>, Error<F>>

Source§

impl<F, E, K, V, H, T, const N: usize, S> Resolver for Arc<AsyncRwLock<Db<F, E, K, V, H, T, N, S>>>
where F: Graftable, E: Context, K: Array, V: FixedValue + Send + Sync + 'static, H: Hasher, T: Translator + Send + Sync + 'static, T::Key: Send + Sync, S: Strategy,

Source§

type Family = F

Source§

type Digest = <H as Hasher>::Digest

Source§

type Op = Operation<F, Update<K, FixedEncoding<V>>>

Source§

type Error = Error<F>

Source§

async fn get_operations( &self, op_count: Location<F>, start_loc: Location<F>, max_ops: NonZeroU64, include_pinned_nodes: bool, _cancel_rx: Receiver<()>, ) -> Result<FetchResult<F, Self::Op, Self::Digest>, Error<F>>

Source§

impl<F, E, K, V, H, T, const N: usize, S> Resolver for Arc<AsyncRwLock<Db<F, E, K, V, H, T, N, S>>>
where F: Graftable, E: Context, K: Key, V: VariableValue + Send + Sync + 'static, H: Hasher, T: Translator + Send + Sync + 'static, T::Key: Send + Sync, S: Strategy, Operation<F, K, V>: CodecShared,

Source§

type Family = F

Source§

type Digest = <H as Hasher>::Digest

Source§

type Op = Operation<F, Update<K, VariableEncoding<V>>>

Source§

type Error = Error<F>

Source§

async fn get_operations( &self, op_count: Location<F>, start_loc: Location<F>, max_ops: NonZeroU64, include_pinned_nodes: bool, _cancel_rx: Receiver<()>, ) -> Result<FetchResult<F, Self::Op, Self::Digest>, Error<F>>

Source§

impl<F, E, K, V, H, T, const N: usize, S> Resolver for Arc<AsyncRwLock<Db<F, E, K, V, H, T, N, S>>>
where F: Graftable, E: Context, K: Array, V: FixedValue + Send + Sync + 'static, H: Hasher, T: Translator + Send + Sync + 'static, T::Key: Send + Sync, S: Strategy,

Source§

type Family = F

Source§

type Digest = <H as Hasher>::Digest

Source§

type Op = Operation<F, Update<K, FixedEncoding<V>>>

Source§

type Error = Error<F>

Source§

async fn get_operations( &self, op_count: Location<F>, start_loc: Location<F>, max_ops: NonZeroU64, include_pinned_nodes: bool, _cancel_rx: Receiver<()>, ) -> Result<FetchResult<F, Self::Op, Self::Digest>, Error<F>>

Source§

impl<F, E, K, V, H, T, const N: usize, S> Resolver for Arc<AsyncRwLock<Db<F, E, K, V, H, T, N, S>>>
where F: Graftable, E: Context, K: Key, V: VariableValue + Send + Sync + 'static, H: Hasher, T: Translator + Send + Sync + 'static, T::Key: Send + Sync, S: Strategy, Operation<F, K, V>: CodecShared,

Source§

type Family = F

Source§

type Digest = <H as Hasher>::Digest

Source§

type Op = Operation<F, Update<K, VariableEncoding<V>>>

Source§

type Error = Error<F>

Source§

async fn get_operations( &self, op_count: Location<F>, start_loc: Location<F>, max_ops: NonZeroU64, include_pinned_nodes: bool, _cancel_rx: Receiver<()>, ) -> Result<FetchResult<F, Self::Op, Self::Digest>, Error<F>>

Source§

impl<F, E, K, V, H, T, const N: usize, S> Resolver for Arc<Db<F, E, K, V, H, T, N, S>>
where F: Graftable, E: Context, K: Array, V: FixedValue + Send + Sync + 'static, H: Hasher, T: Translator + Send + Sync + 'static, T::Key: Send + Sync, S: Strategy,

Source§

type Family = F

Source§

type Digest = <H as Hasher>::Digest

Source§

type Op = Operation<F, Update<K, FixedEncoding<V>>>

Source§

type Error = Error<F>

Source§

async fn get_operations( &self, op_count: Location<F>, start_loc: Location<F>, max_ops: NonZeroU64, include_pinned_nodes: bool, _cancel_rx: Receiver<()>, ) -> Result<FetchResult<F, Self::Op, Self::Digest>, Self::Error>

Source§

impl<F, E, K, V, H, T, const N: usize, S> Resolver for Arc<Db<F, E, K, V, H, T, N, S>>
where F: Graftable, E: Context, K: Key, V: VariableValue + Send + Sync + 'static, H: Hasher, T: Translator + Send + Sync + 'static, T::Key: Send + Sync, S: Strategy, Operation<F, K, V>: CodecShared,

Source§

type Family = F

Source§

type Digest = <H as Hasher>::Digest

Source§

type Op = Operation<F, Update<K, VariableEncoding<V>>>

Source§

type Error = Error<F>

Source§

async fn get_operations( &self, op_count: Location<F>, start_loc: Location<F>, max_ops: NonZeroU64, include_pinned_nodes: bool, _cancel_rx: Receiver<()>, ) -> Result<FetchResult<F, Self::Op, Self::Digest>, Self::Error>

Source§

impl<F, E, K, V, H, T, const N: usize, S> Resolver for Arc<Db<F, E, K, V, H, T, N, S>>
where F: Graftable, E: Context, K: Array, V: FixedValue + Send + Sync + 'static, H: Hasher, T: Translator + Send + Sync + 'static, T::Key: Send + Sync, S: Strategy,

Source§

type Family = F

Source§

type Digest = <H as Hasher>::Digest

Source§

type Op = Operation<F, Update<K, FixedEncoding<V>>>

Source§

type Error = Error<F>

Source§

async fn get_operations( &self, op_count: Location<F>, start_loc: Location<F>, max_ops: NonZeroU64, include_pinned_nodes: bool, _cancel_rx: Receiver<()>, ) -> Result<FetchResult<F, Self::Op, Self::Digest>, Self::Error>

Source§

impl<F, E, K, V, H, T, const N: usize, S> Resolver for Arc<Db<F, E, K, V, H, T, N, S>>
where F: Graftable, E: Context, K: Key, V: VariableValue + Send + Sync + 'static, H: Hasher, T: Translator + Send + Sync + 'static, T::Key: Send + Sync, S: Strategy, Operation<F, K, V>: CodecShared,

Source§

type Family = F

Source§

type Digest = <H as Hasher>::Digest

Source§

type Op = Operation<F, Update<K, VariableEncoding<V>>>

Source§

type Error = Error<F>

Source§

async fn get_operations( &self, op_count: Location<F>, start_loc: Location<F>, max_ops: NonZeroU64, include_pinned_nodes: bool, _cancel_rx: Receiver<()>, ) -> Result<FetchResult<F, Self::Op, Self::Digest>, Self::Error>

Source§

impl<F, E, V, H, S> Resolver for Arc<AsyncRwLock<Option<Db<F, E, V, H, S>>>>
where F: Family, E: Context, V: FixedValue + Send + Sync + 'static, H: Hasher, S: Strategy,

Source§

type Family = F

Source§

type Digest = <H as Hasher>::Digest

Source§

type Op = Operation<F, FixedEncoding<V>>

Source§

type Error = Error<F>

Source§

async fn get_operations( &self, op_count: Location<Self::Family>, start_loc: Location<Self::Family>, max_ops: NonZeroU64, include_pinned_nodes: bool, _cancel_rx: Receiver<()>, ) -> Result<FetchResult<Self::Family, Self::Op, Self::Digest>, Self::Error>

Source§

impl<F, E, V, H, S> Resolver for Arc<AsyncRwLock<Option<Db<F, E, V, H, S>>>>
where F: Family, E: Context, V: VariableValue + Send + Sync + 'static, H: Hasher, S: Strategy,

Source§

type Family = F

Source§

type Digest = <H as Hasher>::Digest

Source§

type Op = Operation<F, VariableEncoding<V>>

Source§

type Error = Error<F>

Source§

async fn get_operations( &self, op_count: Location<Self::Family>, start_loc: Location<Self::Family>, max_ops: NonZeroU64, include_pinned_nodes: bool, _cancel_rx: Receiver<()>, ) -> Result<FetchResult<Self::Family, Self::Op, Self::Digest>, Self::Error>

Source§

impl<F, E, V, H, S> Resolver for Arc<AsyncRwLock<Db<F, E, V, H, S>>>
where F: Family, E: Context, V: FixedValue + Send + Sync + 'static, H: Hasher, S: Strategy,

Source§

type Family = F

Source§

type Digest = <H as Hasher>::Digest

Source§

type Op = Operation<F, FixedEncoding<V>>

Source§

type Error = Error<F>

Source§

async fn get_operations( &self, op_count: Location<Self::Family>, start_loc: Location<Self::Family>, max_ops: NonZeroU64, include_pinned_nodes: bool, _cancel_rx: Receiver<()>, ) -> Result<FetchResult<Self::Family, Self::Op, Self::Digest>, Self::Error>

Source§

impl<F, E, V, H, S> Resolver for Arc<AsyncRwLock<Db<F, E, V, H, S>>>
where F: Family, E: Context, V: VariableValue + Send + Sync + 'static, H: Hasher, S: Strategy,

Source§

type Family = F

Source§

type Digest = <H as Hasher>::Digest

Source§

type Op = Operation<F, VariableEncoding<V>>

Source§

type Error = Error<F>

Source§

async fn get_operations( &self, op_count: Location<Self::Family>, start_loc: Location<Self::Family>, max_ops: NonZeroU64, include_pinned_nodes: bool, _cancel_rx: Receiver<()>, ) -> Result<FetchResult<Self::Family, Self::Op, Self::Digest>, Self::Error>

Source§

impl<F, E, V, H, S> Resolver for Arc<Db<F, E, V, H, S>>
where F: Family, E: Context, V: FixedValue + Send + Sync + 'static, H: Hasher, S: Strategy,

Source§

type Family = F

Source§

type Digest = <H as Hasher>::Digest

Source§

type Op = Operation<F, FixedEncoding<V>>

Source§

type Error = Error<F>

Source§

async fn get_operations( &self, op_count: Location<Self::Family>, start_loc: Location<Self::Family>, max_ops: NonZeroU64, include_pinned_nodes: bool, _cancel_rx: Receiver<()>, ) -> Result<FetchResult<Self::Family, Self::Op, Self::Digest>, Self::Error>

Source§

impl<F, E, V, H, S> Resolver for Arc<Db<F, E, V, H, S>>
where F: Family, E: Context, V: VariableValue + Send + Sync + 'static, H: Hasher, S: Strategy,

Source§

type Family = F

Source§

type Digest = <H as Hasher>::Digest

Source§

type Op = Operation<F, VariableEncoding<V>>

Source§

type Error = Error<F>

Source§

async fn get_operations( &self, op_count: Location<Self::Family>, start_loc: Location<Self::Family>, max_ops: NonZeroU64, include_pinned_nodes: bool, _cancel_rx: Receiver<()>, ) -> Result<FetchResult<Self::Family, Self::Op, Self::Digest>, Self::Error>

Implementors§