Skip to main content

ReadableLocalServerHandler

Trait ReadableLocalServerHandler 

Source
pub trait ReadableLocalServerHandler<___T = Channel>
where ___T: Transport,
{ // Required method fn read( &mut self, request: Request<Read, ___T>, responder: Responder<Read, ___T>, ) -> impl Future<Output = ()>; }
Expand description

A server handler for the Readable protocol.

See Readable for more details.

Required Methods§

Source

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

Reads up to ‘count’ bytes at the seek offset. The seek offset is moved forward by the number of bytes read.

§Invariants
  • The returned data.length will never be greater than count.
  • If data.length is less than count, it means that the seek offset has reached the end of file as part of this operation.
  • If data.length is zero while count is not, it means that the seek offset is already at or beyond the end of file, and no data could be read.
  • If count is zero, the server should perform all the checks ensuring read access without actually read anything, and return an empty data vector.

This method requires the [Rights.READ_BYTES] right.

Returns ZX_ERR_OUT_OF_RANGE if count is greater than MAX_TRANSFER_SIZE.

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

Source§

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

Implementors§