class PacketHeader

Defined at line 9457 of file fidling/gen/sdk/fidl/fuchsia.media/fuchsia.media/cpp/fidl/fuchsia.media/cpp/natural_types.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 Methods

void PacketHeader (Storage_ storage)
void PacketHeader ()

Defined at line 9462 of file fidling/gen/sdk/fidl/fuchsia.media/fuchsia.media/cpp/fidl/fuchsia.media/cpp/natural_types.h

void PacketHeader (PacketHeader && )

Defined at line 9463 of file fidling/gen/sdk/fidl/fuchsia.media/fuchsia.media/cpp/fidl/fuchsia.media/cpp/natural_types.h

void PacketHeader (const PacketHeader & other)
PacketHeader & operator= (PacketHeader && )

Defined at line 9464 of file fidling/gen/sdk/fidl/fuchsia.media/fuchsia.media/cpp/fidl/fuchsia.media/cpp/natural_types.h

PacketHeader & operator= (const PacketHeader & other)
bool operator== (const PacketHeader & other)
bool operator!= (const PacketHeader & other)
bool IsEmpty ()
const std::optional<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.

::std::optional<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.

PacketHeader & buffer_lifetime_ordinal (std::optional<uint64_t> value)

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.

const std::optional<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.

::std::optional<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.

PacketHeader & packet_index (std::optional<uint32_t> value)

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.

void PacketHeader (::fidl::internal::DefaultConstructPossiblyInvalidObjectTag )

Friends

class MemberVisitor
class NaturalTableCodingTraits