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)