Constructs a new AsyncCommandHandler.
PrivatecommandQueue of pending AsyncCommand instances.
PrivateframeFrame counter for queue processing.
Handler identifier.
PrivatepausedMap of paused commands by their unique ID.
PrivatequeueFrequency (in frames) to process the command queue.
PrivaterunningMap of running commands by their unique ID.
Number of tasks in the pool.
PrivatetaskIndex for round-robin task assignment.
PrivatetasksPool of ISGNTask worker tasks.
Called periodically by the timer service to process the command queue.
The time delta since the last tick.
Cancels a command by removing it from the queue or sending a cancel command to its task.
The AsyncCommand to cancel.
PrivatecancelRemoves a pending command from the queue if present.
The AsyncCommand to remove.
True if the command was removed, false otherwise.
Creates the specified number of ISGNTask workers.
Number of tasks to create.
PrivatedispatchDispatches a command to the next available task.
The AsyncCommand to dispatch.
PrivategetPrivategetPrepares the task command object and assigns the command to a task.
The AsyncCommand to assign.
The ISGNTask to assign to.
The task command object.
Handles a new AsyncCommand by adding it to the queue and marking it as pending.
The AsyncCommand to handle.
PrivateonObserver callback for task events. Handles command completion, failure, or cancellation.
The task event containing the async event data.
Pauses a running command, moving it to the paused map.
The AsyncCommand to pause.
PrivateprocessProcesses the command queue, dispatching all pending commands to tasks.
Resumes a paused command, returning it to the queue.
The AsyncCommand to resume.
Starts the handler and creates the specified number of tasks.
Number of tasks to initialize.
AsyncCommandHandler manages the lifecycle, execution, and state of asynchronous commands.
Remarks