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