template <>
class NaturalClientImpl
Defined at line 276 of file fidling/gen/sdk/fidl/fuchsia.tracing.provider/fuchsia.tracing.provider/cpp/fidl/fuchsia.tracing.provider/cpp/natural_messaging.h
Public Methods
::fidl::internal::NaturalThenable< ::fuchsia_tracing_provider::Provider::GetKnownCategories> GetKnownCategories ()
Gets the trace categories that might be produced by this provider.
::fit::result< ::fidl::OneWayError> Initialize (::fidl::Request< ::fuchsia_tracing_provider::Provider::Initialize> request)
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.
::fit::result< ::fidl::OneWayError> Start (const ::fidl::Request< ::fuchsia_tracing_provider::Provider::Start> & request)
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.
::fit::result< ::fidl::OneWayError> 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 a `TRACE_PROVIDER_STOPPED` packet on `fifo`.
Note that multiple `Start,Stop` requests can be received between
`Initialize,Terminate`.
::fit::result< ::fidl::OneWayError> Terminate ()
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.