template <>
class WireServer
Defined at line 4918 of file fidling/gen/src/storage/fxfs/fidl/fuchsia.fxfs/fuchsia.fxfs/cpp/fidl/fuchsia.fxfs/cpp/wire_messaging.h
Pure-virtual interface to be implemented by a server.
This interface uses typed channels (i.e. |::fidl::ClientEnd
<
::fuchsia_fxfs::BlobWriter>|
and |::fidl::ServerEnd
<
::fuchsia_fxfs::BlobWriter>|).
Public Methods
void GetVmo (::fuchsia_fxfs::wire::BlobWriterGetVmoRequest * request, GetVmoCompleter::Sync & completer)
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.
void BytesReady (::fuchsia_fxfs::wire::BlobWriterBytesReadyRequest * request, BytesReadyCompleter::Sync & completer)
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.
void WireServer ()
Defined at line 4921 of file fidling/gen/src/storage/fxfs/fidl/fuchsia.fxfs/fuchsia.fxfs/cpp/fidl/fuchsia.fxfs/cpp/wire_messaging.h
Handler bind_handler (async_dispatcher_t * dispatcher)
|bind_handler| returns a handler that binds incoming connections to this
server implementation.
The returned handler borrows the server instance.
The server must outlive the provided |dispatcher|. Only after
the dispatcher is shutdown will it be safe to destroy the servers.
The server should not be moved.
void ~WireServer ()
Defined at line 4922 of file fidling/gen/src/storage/fxfs/fidl/fuchsia.fxfs/fuchsia.fxfs/cpp/fidl/fuchsia.fxfs/cpp/wire_messaging.h