template <typename BuilderImpl>

class WireTableBaseBuilder

Defined at line 2380 of file fidling/gen/sdk/fidl/fuchsia.tracing.controller/fuchsia.tracing.controller/cpp/fidl/fuchsia.tracing.controller/cpp/wire_types.h

Public Methods

::fuchsia_tracing_controller::wire::TraceConfig Build ()

Build and return the table. The builder should not be used after this.

bool has_categories ()
void clear_categories ()

Clears the categories field.

This method should be used sparingly, such as only during tests, as it has

O(number_of_fields) complexity.

::fidl::VectorView< ::fidl::StringView> & categories ()

The trace categories to record. Prefix wildcards, such as 'kernel:*' and

'*' are supported.

BuilderImpl & categories (Wrapper_Ignore_Me_< ::fidl::ObjectView< ::fidl::VectorView< ::fidl::StringView>>> elem)

The trace categories to record. Prefix wildcards, such as 'kernel:*' and

'*' are supported.

bool has_buffer_size_megabytes_hint ()
void clear_buffer_size_megabytes_hint ()

Clears the buffer_size_megabytes_hint field.

This method should be used sparingly, such as only during tests, as it has

O(number_of_fields) complexity.

uint32_t & buffer_size_megabytes_hint ()

Suggested size of trace buffer which each provider should receive.

BuilderImpl & buffer_size_megabytes_hint (uint32_t elem)

Suggested size of trace buffer which each provider should receive.

bool has_start_timeout_milliseconds ()
void clear_start_timeout_milliseconds ()

Clears the start_timeout_milliseconds field.

This method should be used sparingly, such as only during tests, as it has

O(number_of_fields) complexity.

uint64_t & start_timeout_milliseconds ()

Acknowledge start request after at most `start_timeout_milliseconds`.

BuilderImpl & start_timeout_milliseconds (Wrapper_Ignore_Me_< ::fidl::ObjectView<uint64_t>> elem)

Acknowledge start request after at most `start_timeout_milliseconds`.

bool has_buffering_mode ()
void clear_buffering_mode ()

Clears the buffering_mode field.

This method should be used sparingly, such as only during tests, as it has

O(number_of_fields) complexity.

::fuchsia_tracing::wire::BufferingMode & buffering_mode ()

Getter for buffering_mode.

BuilderImpl & buffering_mode (::fuchsia_tracing::wire::BufferingMode elem)

Setter for buffering_mode.

bool has_provider_specs ()
void clear_provider_specs ()

Clears the provider_specs field.

This method should be used sparingly, such as only during tests, as it has

O(number_of_fields) complexity.

::fidl::VectorView< ::fuchsia_tracing_controller::wire::ProviderSpec> & provider_specs ()

Overrides for particular providers.

BuilderImpl & provider_specs (Wrapper_Ignore_Me_< ::fidl::ObjectView< ::fidl::VectorView< ::fuchsia_tracing_controller::wire::ProviderSpec>>> elem)

Overrides for particular providers.

bool has_version ()
void clear_version ()

Clears the version field.

This method should be used sparingly, such as only during tests, as it has

O(number_of_fields) complexity.

::fuchsia_tracing_controller::wire::FxtVersion & version ()

Maximum trace format version supported byt the client.

If not set, this defaults to the latest available trace format version.

BuilderImpl & version (Wrapper_Ignore_Me_< ::fidl::ObjectView< ::fuchsia_tracing_controller::wire::FxtVersion>> elem)

Maximum trace format version supported byt the client.

If not set, this defaults to the latest available trace format version.

bool has_defer_transfer ()
void clear_defer_transfer ()

Clears the defer_transfer field.

This method should be used sparingly, such as only during tests, as it has

O(number_of_fields) complexity.

bool & defer_transfer ()

When true, the session will buffer the trace within the

fuchsia.tracing.controller server and only send the trace over the

output socket to the client once the trace completes.

It is recommended that defering the trace transfer be set to true when

using streaming mode and the fuchsia.tracing.controller client is across

the host-device boundary, such as with ffx. In this, or other cases

where sending the trace data could cause exess cpu overhead, the disk

writing cost is preferrable to the cost of sending to the client.

NOTE: defer_transfer only has effect during BufferingMode.STREAMING as

other modes don't otherwise send trace data to the client during a

trace.

BuilderImpl & defer_transfer (bool elem)

When true, the session will buffer the trace within the

fuchsia.tracing.controller server and only send the trace over the

output socket to the client once the trace completes.

It is recommended that defering the trace transfer be set to true when

using streaming mode and the fuchsia.tracing.controller client is across

the host-device boundary, such as with ffx. In this, or other cases

where sending the trace data could cause exess cpu overhead, the disk

writing cost is preferrable to the cost of sending to the client.

NOTE: defer_transfer only has effect during BufferingMode.STREAMING as

other modes don't otherwise send trace data to the client during a

trace.

Protected Methods

void WireTableBaseBuilder< ::fuchsia_tracing_controller::wire::TraceConfig, BuilderImpl> (::fidl::ObjectView< ::fidl::WireTableFrame< ::fuchsia_tracing_controller::wire::TraceConfig>> && frame)

Records