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

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§