Struct PayloadHandle
Holds a 64-bit value that uniquely references an allocated memory block within LogMemoryManager.
Implements
Inherited Members
Namespace: Unity.Logging
Assembly: solution.dll
Syntax
[BurstCompile]
public readonly struct PayloadHandle : IEquatable<PayloadHandle>
Remarks
This is the primary field in LogMessage. The value is opaque and shouldn't be accessed externally. It encodes the following data/fields: [Offset - 32bits][Version - 16bits][BufferID - 8bits][BitFlags - 8 bits]
Offset - Byte offset (index) within the RingBuffer of the allocated Payload chunk (includes header) Version - Handle validation value; must match Version within chunk header or handle is rejected BufferID - Identifies specific RingBuffer by an ID value (MemoryManager can maintain multiple RingBuffers) BitFields - Other flags an/or misc. data
The handle holds a unique, single-use value that references a specific memory buffer under the control of LogMemoryManager. Once the referenced memory buffer is released, the handle becomes invalid and any attempt to retrieve the buffer will fail.
Properties
Name | Description |
---|---|
IsDisjointedBuffer | Checks if the PayloadHandle references a Disjointed Buffer. |
IsValid | Checks if the PayloadHandle value is valid. |
Methods
Name | Description |
---|---|
Equals(PayloadHandle) | Equals method that compares this PayloadHandle with another one |
GetHashCode() | Hash function |