template <typename BuilderImpl>
class WireTableBaseBuilder
Defined at line 4757 of file fidling/gen/sdk/fidl/fuchsia.media/fuchsia.media/cpp/fidl/fuchsia.media/cpp/wire_types.h
Public Methods
::fuchsia_media::wire::PacketHeader Build ()
Build and return the table. The builder should not be used after this.
bool has_buffer_lifetime_ordinal ()
void clear_buffer_lifetime_ordinal ()
Clears the buffer_lifetime_ordinal field.
This method should be used sparingly, such as only during tests, as it has
O(number_of_fields) complexity.
uint64_t & buffer_lifetime_ordinal ()
This is which buffer configuration lifetime this header is referring to.
A packet_index is only really meaningful with respect to a particular
buffer_lifetime_ordinal.
See StreamBufferPartialSettings.buffer_lifetime_ordinal.
For QueueInputPacket(), a server receiving a buffer_lifetime_ordinal that
isn't the current input buffer_lifetime_ordinal will close the channel.
For OnFreeInputPacket() and RecycleOutputPacket(), the receiver (client
or server) must ignore a message with stale buffer_lifetime_ordinal.
BuilderImpl & buffer_lifetime_ordinal (Wrapper_Ignore_Me_< ::fidl::ObjectView<uint64_t>> elem)
This is which buffer configuration lifetime this header is referring to.
A packet_index is only really meaningful with respect to a particular
buffer_lifetime_ordinal.
See StreamBufferPartialSettings.buffer_lifetime_ordinal.
For QueueInputPacket(), a server receiving a buffer_lifetime_ordinal that
isn't the current input buffer_lifetime_ordinal will close the channel.
For OnFreeInputPacket() and RecycleOutputPacket(), the receiver (client
or server) must ignore a message with stale buffer_lifetime_ordinal.
bool has_packet_index ()
void clear_packet_index ()
Clears the packet_index field.
This method should be used sparingly, such as only during tests, as it has
O(number_of_fields) complexity.
uint32_t & packet_index ()
The overall set of packet_index values is densely packed from 0..count-1
for input and output separately. They can be queued in any order.
Both the client and server should validate the packet_index against the
known bound and disconnect if it's out of bounds.
When running in single-buffer mode, the buffer index is always 0.
The packet_index values don't imply anything about order of use of
packets. The client should not expect the ordering to remain the same
over time - the stream processor is free to hold on to an input or
output packet for a while during which other packet_index values may be
used multiple times.
For a given properly-functioning StreamProcessor instance, packet_index
values will be unique among concurrently-outstanding packets. Servers
should validate that a client isn't double-using a packet and clients
should validate as necessary to avoid undefined or unexpected client
behavior.
BuilderImpl & packet_index (uint32_t elem)
The overall set of packet_index values is densely packed from 0..count-1
for input and output separately. They can be queued in any order.
Both the client and server should validate the packet_index against the
known bound and disconnect if it's out of bounds.
When running in single-buffer mode, the buffer index is always 0.
The packet_index values don't imply anything about order of use of
packets. The client should not expect the ordering to remain the same
over time - the stream processor is free to hold on to an input or
output packet for a while during which other packet_index values may be
used multiple times.
For a given properly-functioning StreamProcessor instance, packet_index
values will be unique among concurrently-outstanding packets. Servers
should validate that a client isn't double-using a packet and clients
should validate as necessary to avoid undefined or unexpected client
behavior.
Protected Methods
void WireTableBaseBuilder< ::fuchsia_media::wire::PacketHeader, BuilderImpl> (::fidl::ObjectView< ::fidl::WireTableFrame< ::fuchsia_media::wire::PacketHeader>> && frame)