AtomicSafetyHandle is used by the job system to provide validation and full safety.
It becomes available by defining the ENABLE_UNITY_COLLECTIONS_CHECKS symbol.
See Also: the example in NativeContainerAttribute.
CheckDeallocateAndThrow | Checks if the handle can be deallocated. Throws an exception if it has already been destroyed or a job is currently accessing the data. |
CheckExistsAndThrow | Checks if the handle is still valid and throws an exception if it is already destroyed. |
CheckGetSecondaryDataPointerAndThrow | CheckGetSecondaryDataPointerAndThrow. |
CheckReadAndThrow | Checks if the handle can be read from. Throws an exception if already destroyed or a job is currently writing to the data. |
CheckWriteAndBumpSecondaryVersion | Performs CheckWriteAndThrow and then bumps the secondary version. |
CheckWriteAndThrow | Checks if the handle can be written to. Throws an exception if already destroyed or a job is currently reading or writing to the data. |
Create | Creates a new AtomicSafetyHandle that is valid until AtomicSafetyHandle.Release is called. |
EnforceAllBufferJobsHaveCompleted | Waits for all jobs running against this AtomicSafetyHandle to complete. |
EnforceAllBufferJobsHaveCompletedAndDisableReadWrite | Waits for all jobs running against this AtomicSafetyHandle to complete and then disables the read and write access on this atomic safety handle. |
EnforceAllBufferJobsHaveCompletedAndRelease | Waits for all jobs running against this AtomicSafetyHandle to complete and then releases the atomic safety handle. |
GetAllowReadOrWriteAccess | Returns true if the AtomicSafetyHandle is configured to allow reading or writing. |
GetReaderArray | Fetch the job handles of all jobs reading from the safety handle. |
GetReaderName | Return the name of the specified reading job. |
GetTempUnsafePtrSliceHandle | Returns a single shared handle, that can be shared by for example NativeSlice pointing to stack memory. |
GetWriter | Return the writer (if any) on an atomic safety handle. |
GetWriterName | Return the debug name of the current writer on an atomic safety handle. |
Release | Releases a previously created AtomicSafetyHandle. |
SetAllowReadOrWriteAccess | Lets you prevent read or write access on the atomic safety handle. |
SetAllowSecondaryVersionWriting | Switches the AtomicSafetyHandle to the secondary version number. |
UseSecondaryVersion | Switches the AtomicSafetyHandle to the secondary version number. |