Trait DictionaryEnumerateIteratorClientSender

Source
pub trait DictionaryEnumerateIteratorClientSender {
    type Transport: Transport;

    // Required method
    fn get_next<___R>(
        &self,
        request: &mut ___R,
    ) -> Result<ResponseFuture<'_, Self::Transport, GetNext>, EncodeError>
       where ___R: Encode<<Self::Transport as Transport>::SendBuffer, Encoded = WireDictionaryEnumerateIteratorGetNextRequest>;
}
Expand description

A helper trait for the DictionaryEnumerateIterator client sender.

Required Associated Types§

Source

type Transport: Transport

Required Methods§

Source

fn get_next<___R>( &self, request: &mut ___R, ) -> Result<ResponseFuture<'_, Self::Transport, GetNext>, EncodeError>
where ___R: Encode<<Self::Transport as Transport>::SendBuffer, Encoded = WireDictionaryEnumerateIteratorGetNextRequest>,

Returns the next batch of results for a [Dictionary.Enumerate] call, returning up to limit results. limit can be at most MAX_DICTIONARY_ITERATOR_CHUNK.

The value of each of items is a duplicate of the original capability ([CapabilityStore.Duplicate]), unless it could not be duplicated, it which case it will be null.

Each returned capability will be assigned a monotonically increasing CapabilityId starting from start_id.

In addition to the items, returns end_id, which is one more than the highest id reserved by [GetNext]. end_id can be used as the start_id for the next call to [GetNext].

If [GetNext] returns an error, the server will also close the channel.

Errors:

  • ID_ALREADY_EXISTS if some id in the range [start_id, limit) already exists in this store.
  • INVALID_ARGS if limit was 0 or greater than MAX_DICTIONARY_ITERATOR_CHUNK.

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementations on Foreign Types§

Source§

impl<___T> DictionaryEnumerateIteratorClientSender for ClientSender<___T, DictionaryEnumerateIterator>
where ___T: Transport,

Source§

fn get_next<___R>( &self, request: &mut ___R, ) -> Result<ResponseFuture<'_, Self::Transport, GetNext>, EncodeError>
where ___R: Encode<<Self::Transport as Transport>::SendBuffer, Encoded = WireDictionaryEnumerateIteratorGetNextRequest>,

Returns the next batch of results for a [Dictionary.Enumerate] call, returning up to limit results. limit can be at most MAX_DICTIONARY_ITERATOR_CHUNK.

The value of each of items is a duplicate of the original capability ([CapabilityStore.Duplicate]), unless it could not be duplicated, it which case it will be null.

Each returned capability will be assigned a monotonically increasing CapabilityId starting from start_id.

In addition to the items, returns end_id, which is one more than the highest id reserved by [GetNext]. end_id can be used as the start_id for the next call to [GetNext].

If [GetNext] returns an error, the server will also close the channel.

Errors:

  • ID_ALREADY_EXISTS if some id in the range [start_id, limit) already exists in this store.
  • INVALID_ARGS if limit was 0 or greater than MAX_DICTIONARY_ITERATOR_CHUNK.
Source§

type Transport = ___T

Implementors§