template <>

class WireSyncClientImpl

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

Methods to make a sync FIDL call directly on an unowned handle or a

const reference to a |::fidl::ClientEnd

<

::fuchsia_tracing_provider::ProviderV2>|,

avoiding setting up a client.

Public Methods

::fidl::OneWayStatus Initialize (::fuchsia_tracing_provider::wire::ProviderConfigV2 config)

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.

Allocates 16 bytes of response buffer on the stack. Request is heap-allocated.

::fidl::WireResult< ::fuchsia_tracing_provider::ProviderV2::Start> Start (const ::fuchsia_tracing_provider::wire::StartOptions & options)

Begin tracing.

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

Allocates 32 bytes of response buffer on the stack. Request is heap-allocated.

::fidl::WireResult< ::fuchsia_tracing_provider::ProviderV2::Stop> Stop ()

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

Allocates 48 bytes of message buffer on the stack. No heap allocation necessary.

::fidl::WireResult< ::fuchsia_tracing_provider::ProviderV2::Terminate> Terminate ()

Terminate tracing.

Tracing is stopped first if not already stopped.

Allocates 48 bytes of message buffer on the stack. No heap allocation necessary.

::fidl::WireResult< ::fuchsia_tracing_provider::ProviderV2::GetKnownCategories> GetKnownCategories ()

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

Allocates 16 bytes of request buffer on the stack. Response is heap-allocated.

::fidl::OneWayStatus NotifyBufferSaved (uint32_t wrapped_count, uint64_t durable_data_end)

A buffer has been saved (streaming mode only).

Allocates 48 bytes of message buffer on the stack. No heap allocation necessary.

::fidl::OneWayStatus Flush ()

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.

Allocates 32 bytes of message buffer on the stack. No heap allocation necessary.