template <>

class Server

Defined at line 316 of file fidling/gen/sdk/fidl/fuchsia.audio.device/fuchsia.audio.device/cpp/fidl/fuchsia.audio.device/cpp/natural_messaging.h

Public Methods

void Server ()

Defined at line 319 of file fidling/gen/sdk/fidl/fuchsia.audio.device/fuchsia.audio.device/cpp/fidl/fuchsia.audio.device/cpp/natural_messaging.h

void SetActiveChannels (SetActiveChannelsRequest & request, SetActiveChannelsCompleter::Sync & completer)

Request that specific individual channels be powered down/up, if the

device supports this. This is intended for idle power conservation.

Channels are specified by bitmask; the least significant bit corresponds

to channel 0. Each bit not set indicates that the channel can be

deactivated. `SetActiveChannels` does not change how a ring buffer

responds to `Start`/`Stop`, specifically with regards to position.

Devices are not required to obey `SetActiveChannels`. For example, they

are not required to zero-out an input stream's inactive channels, and

data written to inactive channels of an output stream's ring buffer may

still be played.

If not called, then by default all channels will be active.

void Start (StartRequest & request, StartCompleter::Sync & completer)

Start the ring buffer, beginning at the first frame of the ring buffer.

void Stop (StopRequest & request, StopCompleter::Sync & completer)

Stop the ring buffer.

void WatchDelayInfo (WatchDelayInfoCompleter::Sync & completer)

Request delay information via a hanging get. The RingBuffer will respond

immediately to the first `WatchDelayInfo` call. Subsequent calls will

only be completed when the delay info has changed from previously

communicated values.

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 ~Server ()

Defined at line 320 of file fidling/gen/sdk/fidl/fuchsia.audio.device/fuchsia.audio.device/cpp/fidl/fuchsia.audio.device/cpp/natural_messaging.h