template <>

class WireServer

Defined at line 949 of file fidling/gen/sdk/fidl/fuchsia.io/fuchsia.io/cpp/fidl/fuchsia.io/cpp/wire_messaging.h

Pure-virtual interface to be implemented by a server.

This interface uses typed channels (i.e. |::fidl::ClientEnd

<

::fuchsia_io::Writable>|

and |::fidl::ServerEnd

<

::fuchsia_io::Writable>|).

Public Methods

void WireServer ()

Defined at line 952 of file fidling/gen/sdk/fidl/fuchsia.io/fuchsia.io/cpp/fidl/fuchsia.io/cpp/wire_messaging.h

void Write (::fuchsia_io::wire::WritableWriteRequest * request, WriteCompleter::Sync & completer)

Writes data at the seek offset.

The seek offset is moved forward by the number of bytes written.

If the file is in append mode, the seek offset is first set to the end

of the file, followed by the write, in one atomic step.

The file size may grow if the seek offset plus `data.length` is beyond

the current end of file.

+ request `data` the byte buffer to write to the file.

- response `actual_count` the number of bytes written.

## Invariants

* The returned `actual_count` will never be greater than `data.length`.

* If the server is unable to write all the data due to e.g. not enough

space, `actual_count` may be less than `data.length`. If no bytes

could be written, an error is returned.

* If `data.length` is zero, the server should perform all the checks

ensuring write access without mutating the file and return a

successful write of zero bytes. The seek offset is still updated if

in append mode.

This method requires the [`Rights.WRITE_BYTES`] right.

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 953 of file fidling/gen/sdk/fidl/fuchsia.io/fuchsia.io/cpp/fidl/fuchsia.io/cpp/wire_messaging.h