(node: QueueNode)
| 506 | } |
| 507 | |
| 508 | function removeQueueNode(node: QueueNode): QueuedExecution { |
| 509 | const owner = ownerStates.get(node.ownerKey) |
| 510 | if (!owner) { |
| 511 | queueNodes.delete(node.value.id) |
| 512 | queueSize = Math.max(0, queueSize - 1) |
| 513 | maybeClearDrainRetry() |
| 514 | return node.value |
| 515 | } |
| 516 | |
| 517 | const { prev, next, value } = node |
| 518 | if (prev) prev.next = next |
| 519 | else owner.queueHead = next |
| 520 | if (next) next.prev = prev |
| 521 | else owner.queueTail = prev |
| 522 | |
| 523 | node.prev = null |
| 524 | node.next = null |
| 525 | |
| 526 | queueNodes.delete(value.id) |
| 527 | owner.queueLength-- |
| 528 | queueSize-- |
| 529 | maybeCleanupOwner(owner.ownerKey) |
| 530 | maybeClearDrainRetry() |
| 531 | return value |
| 532 | } |
| 533 | |
| 534 | function shiftQueuedExecutionForOwner(owner: OwnerState): QueuedExecution | null { |
| 535 | if (!owner.queueHead) return null |
no test coverage detected