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".

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§