Skip to main content

Iterator

pub struct Iterator;
Expand description

The type corresponding to the Iterator protocol. An iterator for the key-value store. Note that this protocol makes no guarantee of atomicity - the values may change between pulls from the iterator. Unlike the Store protocol above, this protocol is not @discoverable: it is not independently published by the component that implements it, but rather must have one of its two protocol ends transmitted over an existing FIDL connection.

As is often the case with iterators, the client indicates that they are done with an instance of the iterator by simply closing their end of the connection.

Since the iterator is associated only with the Iterate method, it is declared as closed rather than open. This is because changes to how iteration works are more likely to require replacing the Iterate method completely (which is fine because that method is flexible) rather than evolving the Iterator protocol.

Trait Implementations§

Source§

impl ClientCompatFrom<IteratorProxy> for Iterator

Available on Fuchsia only.
Source§

fn client_compat_from(proxy: IteratorProxy) -> ClientDispatcher<Self, Channel>

Converts proxy into a Client for this protocol.
Source§

impl CompatFrom<Iterator> for IteratorMarker

Source§

fn compat_from(_: Iterator) -> Self

Converts value into a value of this type.
Source§

impl CompatFrom<IteratorMarker> for Iterator

Source§

fn compat_from(_: IteratorMarker) -> Self

Converts value into a value of this type.
Source§

impl Debug for Iterator

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl<___H, ___T> DispatchClientMessage<___H, ___T> for Iterator
where ___H: IteratorClientHandler<___T> + Send, ___T: Transport,

Source§

async fn on_event( handler: &mut ___H, ordinal: u64, flexibility: Flexibility, body: Body<___T>, ) -> Result<(), ProtocolError<___T::Error>>

Handles a received client event with the given handler.
Source§

impl<___H, ___T> DispatchServerMessage<___H, ___T> for Iterator
where ___H: IteratorServerHandler<___T> + Send, ___T: Transport,

Source§

async fn on_one_way( handler: &mut ___H, ordinal: u64, flexibility: Flexibility, body: Body<___T>, ) -> Result<(), ProtocolError<<___T as Transport>::Error>>

Handles a received server one-way message with the given handler.
Source§

async fn on_two_way( handler: &mut ___H, ordinal: u64, flexibility: Flexibility, body: Body<___T>, responder: Responder<___T>, ) -> Result<(), ProtocolError<<___T as Transport>::Error>>

Handles a received server two-way message with the given handler.
Source§

impl<___T> HasConnectionHandles<___T> for Iterator
where ___T: Transport,

Source§

type Client = IteratorClient<___T>

The client for the protocol. It must be a #[repr(transparent)] wrapper around Client<T>.
Source§

type Server = IteratorServer<___T>

The server for the protocol. It must be a #[repr(transparent)] wrapper around Server<T>.
Source§

impl HasTransport for Iterator

Available on Fuchsia only.
Source§

type Transport = Channel

The default transport type for this protocol.
Source§

impl PartialEq for Iterator

Source§

fn eq(&self, other: &Iterator) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl StructuralPartialEq for Iterator

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T, D> Encode<Ambiguous1, D> for T
where D: ResourceDialect,

Source§

unsafe fn encode( self, _encoder: &mut Encoder<'_, D>, _offset: usize, _depth: Depth, ) -> Result<(), Error>

Encodes the object into the encoder’s buffers. Any handles stored in the object are swapped for Handle::INVALID. Read more
Source§

impl<T, D> Encode<Ambiguous2, D> for T
where D: ResourceDialect,

Source§

unsafe fn encode( self, _encoder: &mut Encoder<'_, D>, _offset: usize, _depth: Depth, ) -> Result<(), Error>

Encodes the object into the encoder’s buffers. Any handles stored in the object are swapped for Handle::INVALID. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

§

impl<T> InstanceFromServiceTransport<T> for T

§

fn from_service_transport(handle: T) -> T

Converts the given service transport handle of type T to [Self]
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

§

impl<T> Pointable for T

§

const ALIGN: usize

The alignment of pointer.
§

type Init = T

The type for initializers.
§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<E> RunsTransport<Mpsc> for E

§

impl<E> RunsTransport<Mpsc> for E
where E: RunsTransport<Mpsc>,