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. |
| PrepareUndisposable | Marks the AtomicSafetyHandle so that it cannot be disposed of. |
| 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. |