private async Task HandleTask(NmsMessageConsumer.MessageDeliveryTask messageDeliveryTask) { try { isOnDispatcherFlow.Value = true; await messageDeliveryTask.DeliverNextPending().Await(); } finally { isOnDispatcherFlow.Value = false; } }
private void HandleTask(NmsMessageConsumer.MessageDeliveryTask messageDeliveryTask) { try { dispatchThreadId = Thread.CurrentThread.ManagedThreadId; messageDeliveryTask.DeliverNextPending(); } finally { dispatchThreadId = -1; } }
internal void EnqueueForDispatch(NmsMessageConsumer.MessageDeliveryTask task) { dispatcher?.Post(task); }
public void Post(NmsMessageConsumer.MessageDeliveryTask task) => actionBlock.Post(task);