class PacketHeader
Defined at line 9100 of file fidling/gen/sdk/fidl/fuchsia.media/fuchsia.media/hlcpp/fuchsia/media/cpp/fidl.h
PacketHeader
When referring to a free packet, we use PacketHeader alone instead of
Packet, since while a packet is free it doesn't really have meaningful
offset or length etc.
A populated Packet also has a PacketHeader.
Public Members
static const fidl_type_t * FidlType
Public Methods
bool IsEmpty ()
Returns whether no field is set.
const 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.
Defined at line 9118 of file fidling/gen/sdk/fidl/fuchsia.media/fuchsia.media/hlcpp/fuchsia/media/cpp/fidl.h
bool has_buffer_lifetime_ordinal ()
Defined at line 9122 of file fidling/gen/sdk/fidl/fuchsia.media/fuchsia.media/hlcpp/fuchsia/media/cpp/fidl.h
uint64_t * mutable_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.
Defined at line 9138 of file fidling/gen/sdk/fidl/fuchsia.media/fuchsia.media/hlcpp/fuchsia/media/cpp/fidl.h
void clear_buffer_lifetime_ordinal ()
Defined at line 9146 of file fidling/gen/sdk/fidl/fuchsia.media/fuchsia.media/hlcpp/fuchsia/media/cpp/fidl.h
const 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.
Defined at line 9173 of file fidling/gen/sdk/fidl/fuchsia.media/fuchsia.media/hlcpp/fuchsia/media/cpp/fidl.h
bool has_packet_index ()
Defined at line 9177 of file fidling/gen/sdk/fidl/fuchsia.media/fuchsia.media/hlcpp/fuchsia/media/cpp/fidl.h
uint32_t * mutable_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.
Defined at line 9200 of file fidling/gen/sdk/fidl/fuchsia.media/fuchsia.media/hlcpp/fuchsia/media/cpp/fidl.h
void clear_packet_index ()
Defined at line 9208 of file fidling/gen/sdk/fidl/fuchsia.media/fuchsia.media/hlcpp/fuchsia/media/cpp/fidl.h
PacketHeader & set_buffer_lifetime_ordinal (uint64_t _value)
PacketHeader & set_packet_index (uint32_t _value)
void PacketHeader ()
void PacketHeader (PacketHeader && other)
void ~PacketHeader ()
PacketHeader & operator= (PacketHeader && other)
::std::unique_ptr<PacketHeader> New ()
void Encode (::fidl::Encoder * _encoder, size_t _offset, std::optional< ::fidl::HandleInformation> maybe_handle_info)
void Decode (::fidl::Decoder * _decoder, PacketHeader * _value, size_t _offset)
zx_status_t Clone (PacketHeader * _result)