template <>

class NaturalClientImpl

Defined at line 1472 of file fidling/gen/src/storage/fxfs/fidl/fuchsia.fxfs/fuchsia.fxfs/cpp/fidl/fuchsia.fxfs/cpp/natural_messaging.h

Public Methods

::fidl::internal::NaturalThenable< ::fuchsia_fxfs::BlobWriter::GetVmo> GetVmo (const ::fidl::Request< ::fuchsia_fxfs::BlobWriter::GetVmo> & request)

Truncates the blob associated with this BlobWriter proxy to length `size`. Returns a handle

to a `vmo` shared between the server and the client, which is implemented as a ring buffer.

As the client writes blob contents into the `vmo`, it will call BytesReady to signal to the

server that some number of bytes have been written.

Ring Buffer Semantics

The server sets the size of the vmo passed back to the client. The chunks that the client

writes are arbitrarily sized and do not have any alignment guarantees. Any particular write

can wrap around the ring buffer. The client can have several outstanding BytesReady

requests but the client is responsible for not overwriting a given range in the ring buffer

until the BytesReady request corresponding to that range has completed.

::fidl::internal::NaturalThenable< ::fuchsia_fxfs::BlobWriter::BytesReady> BytesReady (const ::fidl::Request< ::fuchsia_fxfs::BlobWriter::BytesReady> & request)

Indicates to the server that an additional `bytes_written` number of bytes have been

written to the shared vmo and are ready to be read off the vmo and written to disk. The

blob will be readable when the final BytesReady response is received by the client.