template <>

class WireServer

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

Pure-virtual interface to be implemented by a server.

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

<

::fuchsia_tracing_provider::ProviderV2>|

and |::fidl::ServerEnd

<

::fuchsia_tracing_provider::ProviderV2>|).

Public Methods

void Initialize (::fuchsia_tracing_provider::wire::ProviderV2InitializeRequest * 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 Start (::fuchsia_tracing_provider::wire::ProviderV2StartRequest * 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 (::fuchsia_tracing_provider::wire::ProviderV2NotifyBufferSavedRequest * 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.

void WireServer ()

Defined at line 3184 of file fidling/gen/sdk/fidl/fuchsia.tracing.provider/fuchsia.tracing.provider/cpp/fidl/fuchsia.tracing.provider/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 3185 of file fidling/gen/sdk/fidl/fuchsia.tracing.provider/fuchsia.tracing.provider/cpp/fidl/fuchsia.tracing.provider/cpp/wire_messaging.h