template <>

class Server

Defined at line 1017 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`.

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 1020 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.

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 an `OnStopped()` event.

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.

void GetKnownCategories (GetKnownCategoriesCompleter::Sync & completer)

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

void NotifyBufferSaved (NotifyBufferSavedRequest & request, NotifyBufferSavedCompleter::Sync & completer)

A buffer has been saved (streaming mode only).

void Flush (FlushCompleter::Sync & completer)

Requests the provider its buffer to be read out, regardless of it is

full or not.

Normally streaming mode only sends data once it has enough data to

require a buffer swap and data flush. This produces fewer, but larger

and bursty data transfers.

Some clients may want more regular smaller data transfers. These clients

may instead manually invoke Flush whenever they are ready for

data.

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