6[DebuggerDisplay(
"{DebuggerDisplayContent,nq}")]
77 flag = flag && (hasAtLeastOneMessageAvailable || flag3);
78 if (hasAtLeastOneMessageAvailable)
85 return flag2 || countIsLessThanBound;
120 return $
"Block=\"{((debuggerDisplay != null) ? debuggerDisplay.Content : _ownerJoin)}\"";
142 joinBlockTargetBase.
CompleteCore(
null, dropPendingMessages:
true, releaseReservedMessages:
false);
290 while (flag && num < actualMaxMessagesPerTask);
313 _boundingState.CurrentCount -= numItemsRemoved;
TaskScheduler TaskScheduler
int ActualMaxMessagesPerTask
CancellationToken CancellationToken
bool CountIsLessThanBound
static Exception StartTaskSafe(Task task, TaskScheduler scheduler)
static TaskCreationOptions GetCreationOptionsForTask(bool isReplacementReplica=false)
static readonly DataflowEtwProvider Log
void ReleaseReservedMessage()
int NumberOfMessagesAvailableOrPostponed
bool HasAtLeastOneMessageAvailable
void CompleteCore(Exception exception, bool dropPendingMessages, bool releaseReservedMessages)
bool ConsumeReservedMessage()
bool HasTheHighestNumberOfMessagesAvailable
bool ConsumeOnePostponedMessage()
bool IsDecliningPermanently
void CompleteOncePossible()
bool HasAtLeastOnePostponedMessage
bool AllTargetsHaveAtLeastOneMessage
Task _taskForInputProcessing
void ProcessAsyncIfNecessary(bool isReplacementReplica=false)
void CompleteBlockIfPossible()
bool _decliningPermanently
readonly BoundingState _boundingState
void OnItemsRemoved(int numItemsRemoved)
JoinBlockTargetSharedResources(IDataflowBlock ownerJoin, JoinBlockTargetBase[] targets, Action joinFilledAction, Action< Exception > exceptionAction, GroupingDataflowBlockOptions dataflowBlockOptions)
bool TargetsHaveAtLeastOneMessageQueuedOrPostponed
void CompleteEachTarget()
readonly Action< Exception > _exceptionAction
void ProcessAsyncIfNecessary_Slow(bool isReplacementReplica)
readonly Action _joinFilledAction
readonly JoinBlockTargetBase[] _targets
readonly IDataflowBlock _ownerJoin
object DebuggerDisplayContent
bool RetrievePostponedItemsNonGreedy()
readonly GroupingDataflowBlockOptions _dataflowBlockOptions
bool RetrievePostponedItemsGreedyBounded()
void ProcessMessagesLoopCore()
static TaskScheduler Default
static new TaskFactory< TResult > Factory
bool IsCancellationRequested
static CancellationToken None