struct in Unity.Collections.LowLevel.Unsafe
/
Implemented in:UnityEngine.CoreModule
AtomicSafetyHandle is used by the job system to coordinate access to container memory from multiple jobs safely.
You typically do not need to use this type in your code unless you are implementing your own NativeContainer type. For a conceptual overview of AtomicSafetyHandle and the role it plays in the job system, see Implement a custom native container.
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 | Check if the data pointer is in a valid state to be aliased by a view on the container which will use the secondary version number. |
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 AtomicSafetyHandle.CheckWriteAndThrow and then, assuming that the handle can be written to, 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. |
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. |
GetTempMemoryHandle | Returns the safety handle which should be used for all temp memory allocations in this temp memory scope. |
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. |
IsDefaultValue | Check if the handle still has its default value (i.e. has not yet been initialized by being assigned or passed to AtomicSafetyHandle.Create). |
IsHandleValid | Check if the AtomicSafetyHandle is still valid. |
IsTempMemoryHandle | Checks if an AtomicSafetyHandle is the temp memory safety handle for the currently active temp memory scope. |
IsValidNonDefaultHandle | Check if the handle has been initialized and is currently valid. |
NewStaticSafetyId | Allocates a new static safety ID, to store information for the provided type T. |
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 | Set whether handles which use the secondary version number are allowed to write to the container protected by this handle. |
SetBumpSecondaryVersionOnScheduleWrite | Lets you automatically bump the secondary version when scheduling a job that has write access to the atomic safety handle. |
SetCustomErrorMessage | Provide a custom error message for a specific job debugger error type, in cases where additional context can be provided. |
SetStaticSafetyId | Assigns the provided static safety ID to an AtomicSafetyHandle. The ID's owner type name and any custom error messages are used by the job debugger when reporting errors involving the target handle. |
UseSecondaryVersion | Switches the AtomicSafetyHandle to the secondary version number. |
ValidateNonDefaultHandle | Check that the handle has been initialized, and if so, check that it is still valid. |