public void EnqueueTask(WorkItem workItem, CheckpointTag workItemCheckpointTag, bool allowCurrentPosition = false) { ValidateQueueingOrder(workItemCheckpointTag, allowCurrentPosition); workItem.SetProjectionQueue(this); workItem.SetCheckpointTag(workItemCheckpointTag); _queuePendingEvents.Enqueue(workItem); }
public void EnqueueOutOfOrderTask(WorkItem workItem) { if (_lastEnqueuedEventTag == null) throw new InvalidOperationException( "Cannot enqueue an out-of-order task. The projection position is currently unknown."); workItem.SetProjectionQueue(this); workItem.SetCheckpointTag(_lastEnqueuedEventTag); _queuePendingEvents.Enqueue(workItem); }
public void EnqueueOutOfOrderTask(WorkItem workItem) { if (_lastEnqueuedEventTag == null) { throw new InvalidOperationException( "Cannot enqueue an out-of-order task. The projection position is currently unknown."); } workItem.SetProjectionQueue(this); workItem.SetCheckpointTag(_lastEnqueuedEventTag); _queuePendingEvents.Enqueue(workItem); }