template <>

class Server

Defined at line 420 of file fidling/gen/sdk/fidl/fuchsia.tracing.provider/fuchsia.tracing.provider/cpp/fidl/fuchsia.tracing.provider/cpp/natural_messaging.h

Public Methods

void Initialize (InitializeRequest & request, InitializeCompleter::Sync & completer)

Initialize tracing and prepare for writing trace records for events in

the specified `categories` into `buffer` using `fifo` for signaling.

Tracing hasn't started yet, a `Start()` call is still required.

At most one trace can be active at a time. Subsequent `Initialize()`

requests received prior to a `Terminate()` call must be ignored.

void Server ()

Defined at line 423 of file fidling/gen/sdk/fidl/fuchsia.tracing.provider/fuchsia.tracing.provider/cpp/fidl/fuchsia.tracing.provider/cpp/natural_messaging.h

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

Begin tracing.

If tracing has already started the provider must ignore the request.

There is no result. The provider must send a `TRACE_PROVIDER_STARTED`

packet on `fifo` to indicate success/failure of starting.

void Stop (StopCompleter::Sync & completer)

Stop tracing.

If tracing has already stopped the provider must ignore the request.

Once the provider has finished writing any final events to the trace

buffer, it must send a `TRACE_PROVIDER_STOPPED` packet on `fifo`.

Note that multiple `Start,Stop` requests can be received between

`Initialize,Terminate`.

void Terminate (TerminateCompleter::Sync & completer)

Terminate tracing.

Tracing is stopped first if not already stopped.

After tracing has fully terminated the provider must close both

`buffer` and `fifo` to indicate to the trace manager that tracing is

finished.

void GetKnownCategories (GetKnownCategoriesCompleter::Sync & completer)

Gets the trace categories that might be produced by this provider.

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 424 of file fidling/gen/sdk/fidl/fuchsia.tracing.provider/fuchsia.tracing.provider/cpp/fidl/fuchsia.tracing.provider/cpp/natural_messaging.h