AtomicSafetyHandle
struct in Unity.Collections.LowLevel.Unsafe · UnityEngine.CoreModule
In Tassix
A native container's safety handle: a node shared by all copies of the container (its version changes when the container is disposed, so stale copies fail) and the version this copy expects. The job safety system records which scheduled jobs read or write through each node, so the main thread can't touch a container a job is using until that job is completed, as Unity's editor enforces.
Methods 29
static void CheckDeallocateAndThrow(AtomicSafetyHandle handle)static void CheckExistsAndThrow(in AtomicSafetyHandle handle)static void CheckGetSecondaryDataPointerAndThrow(AtomicSafetyHandle handle)static void CheckReadAndThrow(AtomicSafetyHandle handle)static void CheckWriteAndBumpSecondaryVersion(AtomicSafetyHandle handle)static void CheckWriteAndThrow(AtomicSafetyHandle handle)static AtomicSafetyHandle Create()static EnforceJobResult EnforceAllBufferJobsHaveCompleted(AtomicSafetyHandle handle)static EnforceJobResult EnforceAllBufferJobsHaveCompletedAndDisableReadWrite(AtomicSafetyHandle handle)static EnforceJobResult EnforceAllBufferJobsHaveCompletedAndRelease(AtomicSafetyHandle handle)static bool GetAllowReadOrWriteAccess(AtomicSafetyHandle handle)static int GetReaderArray(AtomicSafetyHandle handle, int maxCount, IntPtr output)static string GetReaderName(AtomicSafetyHandle handle, int readerIndex)static AtomicSafetyHandle GetTempMemoryHandle()static AtomicSafetyHandle GetTempUnsafePtrSliceHandle()static JobHandle GetWriter(AtomicSafetyHandle handle)static string GetWriterName(AtomicSafetyHandle handle)static bool IsDefaultValue(in AtomicSafetyHandle handle)static bool IsHandleValid(AtomicSafetyHandle handle)static bool IsHandleValid(in AtomicSafetyHandle handle)static bool IsTempMemoryHandle(AtomicSafetyHandle handle)static int NewStaticSafetyId<T>()static int NewStaticSafetyId(byte* ownerTypeNameBytes, int byteCount)static void Release(AtomicSafetyHandle handle)Invalidates every copy of the handle.
static void SetAllowReadOrWriteAccess(AtomicSafetyHandle handle, bool allowReadWriteAccess)static void SetAllowSecondaryVersionWriting(AtomicSafetyHandle handle, bool allowWriting)static void SetBumpSecondaryVersionOnScheduleWrite(AtomicSafetyHandle handle, bool value)static void SetCustomErrorMessage(int staticSafetyId, AtomicSafetyErrorType errorType, byte* messageBytes, int byteCount)static void SetNestedContainer(AtomicSafetyHandle handle, bool isNestedContainer)static void SetStaticSafetyId(ref AtomicSafetyHandle handle, int staticSafetyId)static void UseSecondaryVersion(ref AtomicSafetyHandle handle)Not in Tassix yet 4
GetNestedContainer IsValidNonDefaultHandle PrepareUndisposable ValidateNonDefaultHandle