template <>

class WireServer

Defined at line 387 of file fidling/gen/sdk/fidl/fuchsia.audio.effects/fuchsia.audio.effects/cpp/fidl/fuchsia.audio.effects/cpp/wire_messaging.h

Pure-virtual interface to be implemented by a server.

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

<

::fuchsia_audio_effects::Processor>|

and |::fidl::ServerEnd

<

::fuchsia_audio_effects::Processor>|).

Public Methods

void Process (::fuchsia_audio_effects::wire::ProcessorProcessRequest * request, ProcessCompleter::Sync & completer)

Processes the given number of frames. This will consume `num_frames` from

each `ProcessorConfiguration.inputs[i]` and produce an equivalent number of

frames in each `ProcessorConfiguration.outputs[i]`.

## Execution model

All inputs and outputs must have identical frame rates. This simplifies

the problem of matching input and output frames, as described below.

At each call to `Process`, the effect collects audio from a set of input buffers

and produces a set of output buffers. The input buffers should be aligned by

time. That means: the first frame in each input buffer, input[i].buffer[0],

should have the same presentation time as all other frames input[j].buffer[0].

Output buffers with non-zero latency may be shifted relative to input buffers.

For each output k, input frame 0 has the same presentation time as the frame at

output[k].buffer[output[k].latency_frames].

+ request `num_frames` The number of frames to process.

+ request `options` Extra options.

- response `per_stage_metrics `Metrics about this process call, possibly

subdivided into multiple stages.

* error A zx.Status value indicating success or failure.

void WireServer ()

Defined at line 390 of file fidling/gen/sdk/fidl/fuchsia.audio.effects/fuchsia.audio.effects/cpp/fidl/fuchsia.audio.effects/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 391 of file fidling/gen/sdk/fidl/fuchsia.audio.effects/fuchsia.audio.effects/cpp/fidl/fuchsia.audio.effects/cpp/wire_messaging.h