Skip to main content

DictionaryEnumerateIteratorLocalServerHandler

Trait DictionaryEnumerateIteratorLocalServerHandler 

Source
pub trait DictionaryEnumerateIteratorLocalServerHandler<___T: Transport = Channel> {
    // Required method
    fn get_next(
        &mut self,
        request: Request<GetNext, ___T>,
        responder: Responder<GetNext, ___T>,
    ) -> impl Future<Output = ()>;

    // Provided method
    fn on_unknown_interaction(
        &mut self,
        ordinal: u64,
    ) -> impl Future<Output = ()> { ... }
}
Expand description

A server handler for the DictionaryEnumerateIterator protocol.

See DictionaryEnumerateIterator for more details.

Required Methods§

Source

fn get_next( &mut self, request: Request<GetNext, ___T>, responder: Responder<GetNext, ___T>, ) -> impl Future<Output = ()>

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.

Provided Methods§

Source

fn on_unknown_interaction(&mut self, ordinal: u64) -> impl Future<Output = ()>

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<___H, ___T> DictionaryEnumerateIteratorLocalServerHandler<___T> for Local<___H>
where ___H: DictionaryEnumerateIteratorServerHandler<___T>, ___T: Transport,

Source§

async fn get_next( &mut self, request: Request<GetNext, ___T>, responder: Responder<GetNext, ___T>, )

Source§

async fn on_unknown_interaction(&mut self, ordinal: u64)

Implementors§