Skip to content
Fetching contributors…
Cannot retrieve contributors at this time
7558 lines (7557 sloc) 594 KB
<?xml version="1.0"?>
<doc>
<assembly>
<name>System.Threading.Tasks.Dataflow</name>
</assembly>
<members>
<member name="T:System.Threading.Tasks.Dataflow.BatchedJoinBlock`2">
<summary>
Provides a dataflow block that batches a specified number of inputs of potentially differing types
provided to one or more of its targets.
</summary>
<typeparam name="T1">Specifies the type of data accepted by the block's first target.</typeparam>
<typeparam name="T2">Specifies the type of data accepted by the block's second target.</typeparam>
</member>
<member name="T:System.Threading.Tasks.Dataflow.IReceivableSourceBlock`1">
<summary>Represents a dataflow block that supports receiving of messages without linking.</summary>
<typeparam name="TOutput">Specifies the type of data supplied by the <see cref="T:System.Threading.Tasks.Dataflow.IReceivableSourceBlock`1"/>.</typeparam>
</member>
<member name="T:System.Threading.Tasks.Dataflow.ISourceBlock`1">
<summary>Represents a dataflow block that is a source of data.</summary>
<typeparam name="TOutput">Specifies the type of data supplied by the <see cref="T:System.Threading.Tasks.Dataflow.ISourceBlock`1"/>.</typeparam>
</member>
<member name="T:System.Threading.Tasks.Dataflow.IDataflowBlock">
<summary>Represents a dataflow block.</summary>
</member>
<member name="M:System.Threading.Tasks.Dataflow.IDataflowBlock.Complete">
<summary>
Signals to the <see cref="T:System.Threading.Tasks.Dataflow.IDataflowBlock"/> that it should not accept
nor produce any more messages nor consume any more postponed messages.
</summary><remarks>
After Complete has been called on a dataflow block, that block will complete
(such that its <see cref="M:Completion"/> task will enter a final state) after it's processed all previously
available data. Complete will not block waiting for completion to occur, but rather will initiaite
the request; to wait for completion to occur, the <see cref="M:Completion"/> task may be used.
</remarks>
</member>
<member name="M:System.Threading.Tasks.Dataflow.IDataflowBlock.Fault(System.Exception)">
<summary>
Causes the <see cref="T:System.Threading.Tasks.Dataflow.IDataflowBlock"/> to complete in a
<see cref="F:System.Threading.Tasks.TaskStatus.Faulted"/> state.
</summary><param name="exception">The <see cref="T:System.Exception"/> that caused the faulting.</param><exception cref="T:System.ArgumentNullException">
The <paramref name="exception"/> is null (Nothing in Visual Basic).
</exception><remarks>
After Fault has been called on a dataflow block, that block will complete
(such that its <see cref="M:Completion"/> task will enter a final state). Faulting a block causes
buffered messages (uprocessed input messages as well as unoffered output messages) to be lost.
</remarks>
</member>
<member name="P:System.Threading.Tasks.Dataflow.IDataflowBlock.Completion">
<summary>
Gets a <see cref="T:System.Threading.Tasks.Task">Task</see> that represents the asynchronous operation and completion of the dataflow block.
</summary><remarks>
A dataflow block is considered completed when it is not currently processing a message and when it has guaranteed that it will not process
any more messages. The returned <see cref="T:System.Threading.Tasks.Task">Task</see> will transition to a completed state when the
associated block has completed. It will transition to the <see cref="T:System.Threading.Tasks.TaskStatus">RanToCompletion</see> state
when the block completes its processing successfully according to the dataflow block’s defined semantics, it will transition to
the <see cref="T:System.Threading.Tasks.TaskStatus">Faulted</see> state when the dataflow block has completed processing prematurely due to an unhandled exception,
and it will transition to the <see cref="T:System.Threading.Tasks.TaskStatus">Canceled</see> state when the dataflow block has completed processing
prematurely due to receiving a cancellation request. If the task completes in the Faulted state, its Exception property will return
an <see cref="T:System.AggregateException"/> containing the one or more exceptions that caused the block to fail.
</remarks>
</member>
<member name="M:System.Threading.Tasks.Dataflow.ISourceBlock`1.LinkTo(System.Threading.Tasks.Dataflow.ITargetBlock{`0},System.Boolean)">
<summary>
Links the <see cref="T:System.Threading.Tasks.Dataflow.ISourceBlock`1"/> to the specified <see cref="T:System.Threading.Tasks.Dataflow.ITargetBlock`1"/>.
</summary><param name="target">
The <see cref="T:System.Threading.Tasks.Dataflow.ITargetBlock`1"/> to which to connect this source.
</param><param name="unlinkAfterOne">
true if the source should unlink from the target after successfully propagating a single message;
otherwise, false to remain connected even after a single message has been propagated.
</param><returns>An IDisposable that, upon calling Dispose, will unlink the source from the target.</returns><exception cref="T:System.ArgumentNullException">
The <paramref name="target"/> is null (Nothing in Visual Basic).
</exception>
</member>
<member name="M:System.Threading.Tasks.Dataflow.ISourceBlock`1.ConsumeMessage(System.Threading.Tasks.Dataflow.DataflowMessageHeader,System.Threading.Tasks.Dataflow.ITargetBlock{`0},System.Boolean@)">
<summary>
Called by a linked <see cref="T:System.Threading.Tasks.Dataflow.ITargetBlock`1"/> to accept and consume a
<see cref="T:System.Threading.Tasks.Dataflow.DataflowMessageHeader"/> previously offered by this <see cref="T:System.Threading.Tasks.Dataflow.ISourceBlock`1"/>.
</summary><param name="messageHeader">The <see cref="T:System.Threading.Tasks.Dataflow.DataflowMessageHeader"/> of the message being consumed.</param><param name="target">
The <see cref="T:System.Threading.Tasks.Dataflow.ITargetBlock`1"/> consuming the message.
</param><param name="messageConsumed">
True if the message was successfully consumed. False otherwise.
</param><returns>
<para>
The value of the consumed message. This may correspond to a different <see cref="T:System.Threading.Tasks.Dataflow.DataflowMessageHeader"/> instance than was previously reserved and
passed as the <paramref name="messageHeader"/> to <see cref="M:ConsumeMessage"/>. The consuming <see cref="T:System.Threading.Tasks.Dataflow.ITargetBlock`1"/> must
use the returned value instead of the value passed as messageValue through <see cref="M:OfferMessage"/>.
</para>
<para>
If the message requested is not available, the return value will be null (Nothing in Visual Basic).
</para>
</returns><exception cref="T:System.ArgumentException">
The <paramref name="messageHeader"/> is not valid.
</exception><exception cref="T:System.ArgumentNullException">
The <paramref name="target"/> is null (Nothing in Visual Basic).
</exception><remarks>
<para>
Only <see cref="T:System.Threading.Tasks.Dataflow.ITargetBlock`1"/> instances linked to this <see cref="T:System.Threading.Tasks.Dataflow.ISourceBlock`1"/>
instance may use <see cref="M:ConsumeMessage"/>, and it must only be used
to reserve <see cref="T:System.Threading.Tasks.Dataflow.DataflowMessageHeader"/> instances previously
offered by this source to the target.
</para>
</remarks>
</member>
<member name="M:System.Threading.Tasks.Dataflow.ISourceBlock`1.ReserveMessage(System.Threading.Tasks.Dataflow.DataflowMessageHeader,System.Threading.Tasks.Dataflow.ITargetBlock{`0})">
<summary>
Called by a linked <see cref="T:System.Threading.Tasks.Dataflow.ITargetBlock`1"/> to reserve a previously offered <see cref="T:System.Threading.Tasks.Dataflow.DataflowMessageHeader"/>
by this <see cref="T:System.Threading.Tasks.Dataflow.ISourceBlock`1"/>.
</summary><param name="messageHeader">
The <see cref="T:System.Threading.Tasks.Dataflow.DataflowMessageHeader"/> of the message being reserved.
</param><param name="target">
The <see cref="T:System.Threading.Tasks.Dataflow.ITargetBlock`1"/> reserving the message.
</param><returns>true if the message was successfully reserved; otherwise, false.</returns><exception cref="T:System.ArgumentException">
The <paramref name="messageHeader"/> is not valid.
</exception><exception cref="T:System.ArgumentNullException">
The <paramref name="target"/> is null (Nothing in Visual Basic).
</exception><remarks>
<para>
Only <see cref="T:System.Threading.Tasks.Dataflow.ITargetBlock`1"/> instances linked to this <see cref="T:System.Threading.Tasks.Dataflow.ISourceBlock`1"/> instance
may use <see cref="M:ReserveMessage"/>, and it must only be used
to reserve <see cref="T:System.Threading.Tasks.Dataflow.DataflowMessageHeader"/> instances previously
offered by this source to the target.
</para>
<para>
If true is returned, the <see cref="T:System.Threading.Tasks.Dataflow.ITargetBlock`1"/> must subsequently call either <see cref="M:ConsumeMessage"/> or <see cref="M:ReserveMessage"/> for this message.
Failure to do so may result in the source being unable to propagate any further messages to this or other targets.
</para>
<para>
<see cref="M:ReserveMessage"/> must not be called while the target is holding any internal locks. Doing so will violate the lock hierarchy
necessary to avoid deadlocks in a dataflow network.
</para>
</remarks>
</member>
<member name="M:System.Threading.Tasks.Dataflow.ISourceBlock`1.ReleaseReservation(System.Threading.Tasks.Dataflow.DataflowMessageHeader,System.Threading.Tasks.Dataflow.ITargetBlock{`0})">
<summary>
Called by a linked <see cref="T:System.Threading.Tasks.Dataflow.ITargetBlock`1"/> to release a previously reserved
<see cref="T:System.Threading.Tasks.Dataflow.DataflowMessageHeader"/> by this <see cref="T:System.Threading.Tasks.Dataflow.ISourceBlock`1"/>.
</summary><param name="messageHeader">
The <see cref="T:System.Threading.Tasks.Dataflow.DataflowMessageHeader"/> of the reserved message being released.
</param><param name="target">
The <see cref="T:System.Threading.Tasks.Dataflow.ITargetBlock`1"/> releasing the message it previously reserved.
</param><exception cref="T:System.ArgumentException">
The <paramref name="messageHeader"/> is not valid.
</exception><exception cref="T:System.ArgumentNullException">
The <paramref name="target"/> is null (Nothing in Visual Basic).
</exception><exception cref="T:System.InvalidOperationException">
The <paramref name="target"/> did not have the message reserved.
</exception><remarks>
<para>
Only <see cref="T:System.Threading.Tasks.Dataflow.ITargetBlock`1"/> instances linked to this <see cref="T:System.Threading.Tasks.Dataflow.ISourceBlock`1"/>
instance may use <see cref="M:ReleaseMessage"/>, and it must only be used
to release <see cref="T:System.Threading.Tasks.Dataflow.DataflowMessageHeader"/> instances previously
and successfully reserved by the target.
</para>
</remarks>
</member>
<member name="M:System.Threading.Tasks.Dataflow.IReceivableSourceBlock`1.TryReceive(System.Predicate{`0},`0@)">
<summary>
Attempts to synchronously receive an available output item from the <see cref="T:System.Threading.Tasks.Dataflow.ISourceBlock`1"/>.
</summary><param name="filter">
The predicate a value must successfully pass in order for it to be received.
<paramref name="filter"/> may be null (Nothing in Visual Basic), in which case all items will pass.
</param><param name="item">The item received from the source.</param><returns>true if an item could be received; otherwise, false.</returns><remarks>
This method does not block waiting for the source to provide an item.
It will return after checking for an element, whether or not an element was available.
</remarks>
</member>
<member name="M:System.Threading.Tasks.Dataflow.IReceivableSourceBlock`1.TryReceiveAll(System.Collections.Generic.IList{`0}@)">
<summary>
Attempts to synchronously receive all available items from the <see cref="T:System.Threading.Tasks.Dataflow.ISourceBlock`1"/>.
</summary><param name="items">The items received from the source.</param><returns>true if one or more items could be received; otherwise, false.</returns><remarks>
This method does not block waiting for the source to provide an item.
It will return after checking for elements, whether or not an element was available.
</remarks>
</member>
<member name="T:System.Threading.Tasks.Dataflow.Internal.IDebuggerDisplay">
<summary>Implemented to provide customizable data for debugger displays.</summary>
</member>
<member name="P:System.Threading.Tasks.Dataflow.Internal.IDebuggerDisplay.Content">
<summary>The object to be displayed as the content of a DebuggerDisplayAttribute.</summary>
<remarks>
The property returns an object to allow the debugger to interpret arbitrary .NET objects.
The return value may be, but need not be limited to be, a string.
</remarks>
</member>
<member name="F:System.Threading.Tasks.Dataflow.BatchedJoinBlock`2.m_batchSize">
<summary>The size of the batches generated by this BatchedJoin.</summary>
</member>
<member name="F:System.Threading.Tasks.Dataflow.BatchedJoinBlock`2.m_sharedResources">
<summary>State shared among the targets.</summary>
</member>
<member name="F:System.Threading.Tasks.Dataflow.BatchedJoinBlock`2.m_target1">
<summary>The target providing inputs of type T1.</summary>
</member>
<member name="F:System.Threading.Tasks.Dataflow.BatchedJoinBlock`2.m_target2">
<summary>The target providing inputs of type T2.</summary>
</member>
<member name="F:System.Threading.Tasks.Dataflow.BatchedJoinBlock`2.m_source">
<summary>The source side.</summary>
</member>
<member name="M:System.Threading.Tasks.Dataflow.BatchedJoinBlock`2.#ctor(System.Int32)">
<summary>Initializes this <see cref="T:System.Threading.Tasks.Dataflow.BatchedJoinBlock`2"/> with the specified configuration.</summary>
<param name="batchSize">The number of items to group into a batch.</param>
<exception cref="T:System.ArgumentOutOfRangeException">The <paramref name="batchSize"/> must be positive.</exception>
</member>
<member name="M:System.Threading.Tasks.Dataflow.BatchedJoinBlock`2.#ctor(System.Int32,System.Threading.Tasks.Dataflow.GroupingDataflowBlockOptions)">
<summary>Initializes this <see cref="T:System.Threading.Tasks.Dataflow.BatchedJoinBlock`2"/> with the specified configuration.</summary>
<param name="batchSize">The number of items to group into a batch.</param>
<param name="dataflowBlockOptions">The options with which to configure this <see cref="T:System.Threading.Tasks.Dataflow.BatchedJoinBlock`2"/>.</param>
<exception cref="T:System.ArgumentOutOfRangeException">The <paramref name="batchSize"/> must be positive.</exception>
<exception cref="T:System.ArgumentNullException">The <paramref name="dataflowBlockOptions"/> is null (Nothing in Visual Basic).</exception>
</member>
<member name="M:System.Threading.Tasks.Dataflow.BatchedJoinBlock`2.LinkTo(System.Threading.Tasks.Dataflow.ITargetBlock{System.Tuple{System.Collections.Generic.IList{`0},System.Collections.Generic.IList{`1}}},System.Boolean)">
<summary>
Links the <see cref="T:System.Threading.Tasks.Dataflow.ISourceBlock`1"/> to the specified <see cref="T:System.Threading.Tasks.Dataflow.ITargetBlock`1"/>.
</summary><param name="target">
The <see cref="T:System.Threading.Tasks.Dataflow.ITargetBlock`1"/> to which to connect this source.
</param><param name="unlinkAfterOne">
true if the source should unlink from the target after successfully propagating a single message;
otherwise, false to remain connected even after a single message has been propagated.
</param><returns>An IDisposable that, upon calling Dispose, will unlink the source from the target.</returns><exception cref="T:System.ArgumentNullException">
The <paramref name="target"/> is null (Nothing in Visual Basic).
</exception>
</member>
<member name="M:System.Threading.Tasks.Dataflow.BatchedJoinBlock`2.TryReceive(System.Predicate{System.Tuple{System.Collections.Generic.IList{`0},System.Collections.Generic.IList{`1}}},System.Tuple{System.Collections.Generic.IList{`0},System.Collections.Generic.IList{`1}}@)">
<summary>
Attempts to synchronously receive an available output item from the <see cref="T:System.Threading.Tasks.Dataflow.ISourceBlock`1"/>.
</summary><param name="filter">
The predicate a value must successfully pass in order for it to be received.
<paramref name="filter"/> may be null (Nothing in Visual Basic), in which case all items will pass.
</param><param name="item">The item received from the source.</param><returns>true if an item could be received; otherwise, false.</returns><remarks>
This method does not block waiting for the source to provide an item.
It will return after checking for an element, whether or not an element was available.
</remarks>
</member>
<member name="M:System.Threading.Tasks.Dataflow.BatchedJoinBlock`2.TryReceiveAll(System.Collections.Generic.IList{System.Tuple{System.Collections.Generic.IList{`0},System.Collections.Generic.IList{`1}}}@)">
<summary>
Attempts to synchronously receive all available items from the <see cref="T:System.Threading.Tasks.Dataflow.ISourceBlock`1"/>.
</summary><param name="items">The items received from the source.</param><returns>true if one or more items could be received; otherwise, false.</returns><remarks>
This method does not block waiting for the source to provide an item.
It will return after checking for elements, whether or not an element was available.
</remarks>
</member>
<member name="M:System.Threading.Tasks.Dataflow.BatchedJoinBlock`2.Complete">
<summary>
Signals to the <see cref="T:System.Threading.Tasks.Dataflow.IDataflowBlock"/> that it should not accept
nor produce any more messages nor consume any more postponed messages.
</summary><remarks>
After Complete has been called on a dataflow block, that block will complete
(such that its <see cref="M:Completion"/> task will enter a final state) after it's processed all previously
available data. Complete will not block waiting for completion to occur, but rather will initiaite
the request; to wait for completion to occur, the <see cref="M:Completion"/> task may be used.
</remarks>
</member>
<member name="M:System.Threading.Tasks.Dataflow.BatchedJoinBlock`2.System#Threading#Tasks#Dataflow#IDataflowBlock#Fault(System.Exception)">
<summary>
Causes the <see cref="T:System.Threading.Tasks.Dataflow.IDataflowBlock"/> to complete in a
<see cref="F:System.Threading.Tasks.TaskStatus.Faulted"/> state.
</summary><param name="exception">The <see cref="T:System.Exception"/> that caused the faulting.</param><exception cref="T:System.ArgumentNullException">
The <paramref name="exception"/> is null (Nothing in Visual Basic).
</exception><remarks>
After Fault has been called on a dataflow block, that block will complete
(such that its <see cref="M:Completion"/> task will enter a final state). Faulting a block causes
buffered messages (uprocessed input messages as well as unoffered output messages) to be lost.
</remarks>
</member>
<member name="M:System.Threading.Tasks.Dataflow.BatchedJoinBlock`2.System#Threading#Tasks#Dataflow#ISourceBlock{System#Tuple{System#Collections#Generic#IList{T1}@System#Collections#Generic#IList{T2}}}#ConsumeMessage(System.Threading.Tasks.Dataflow.DataflowMessageHeader,System.Threading.Tasks.Dataflow.ITargetBlock{System.Tuple{System.Collections.Generic.IList{`0},System.Collections.Generic.IList{`1}}},System.Boolean@)">
<summary>
Called by a linked <see cref="T:System.Threading.Tasks.Dataflow.ITargetBlock`1"/> to accept and consume a
<see cref="T:System.Threading.Tasks.Dataflow.DataflowMessageHeader"/> previously offered by this <see cref="T:System.Threading.Tasks.Dataflow.ISourceBlock`1"/>.
</summary><param name="messageHeader">The <see cref="T:System.Threading.Tasks.Dataflow.DataflowMessageHeader"/> of the message being consumed.</param><param name="target">
The <see cref="T:System.Threading.Tasks.Dataflow.ITargetBlock`1"/> consuming the message.
</param><param name="messageConsumed">
True if the message was successfully consumed. False otherwise.
</param><returns>
<para>
The value of the consumed message. This may correspond to a different <see cref="T:System.Threading.Tasks.Dataflow.DataflowMessageHeader"/> instance than was previously reserved and
passed as the <paramref name="messageHeader"/> to <see cref="M:ConsumeMessage"/>. The consuming <see cref="T:System.Threading.Tasks.Dataflow.ITargetBlock`1"/> must
use the returned value instead of the value passed as messageValue through <see cref="M:OfferMessage"/>.
</para>
<para>
If the message requested is not available, the return value will be null (Nothing in Visual Basic).
</para>
</returns><exception cref="T:System.ArgumentException">
The <paramref name="messageHeader"/> is not valid.
</exception><exception cref="T:System.ArgumentNullException">
The <paramref name="target"/> is null (Nothing in Visual Basic).
</exception><remarks>
<para>
Only <see cref="T:System.Threading.Tasks.Dataflow.ITargetBlock`1"/> instances linked to this <see cref="T:System.Threading.Tasks.Dataflow.ISourceBlock`1"/>
instance may use <see cref="M:ConsumeMessage"/>, and it must only be used
to reserve <see cref="T:System.Threading.Tasks.Dataflow.DataflowMessageHeader"/> instances previously
offered by this source to the target.
</para>
</remarks>
</member>
<member name="M:System.Threading.Tasks.Dataflow.BatchedJoinBlock`2.System#Threading#Tasks#Dataflow#ISourceBlock{System#Tuple{System#Collections#Generic#IList{T1}@System#Collections#Generic#IList{T2}}}#ReserveMessage(System.Threading.Tasks.Dataflow.DataflowMessageHeader,System.Threading.Tasks.Dataflow.ITargetBlock{System.Tuple{System.Collections.Generic.IList{`0},System.Collections.Generic.IList{`1}}})">
<summary>
Called by a linked <see cref="T:System.Threading.Tasks.Dataflow.ITargetBlock`1"/> to reserve a previously offered <see cref="T:System.Threading.Tasks.Dataflow.DataflowMessageHeader"/>
by this <see cref="T:System.Threading.Tasks.Dataflow.ISourceBlock`1"/>.
</summary><param name="messageHeader">
The <see cref="T:System.Threading.Tasks.Dataflow.DataflowMessageHeader"/> of the message being reserved.
</param><param name="target">
The <see cref="T:System.Threading.Tasks.Dataflow.ITargetBlock`1"/> reserving the message.
</param><returns>true if the message was successfully reserved; otherwise, false.</returns><exception cref="T:System.ArgumentException">
The <paramref name="messageHeader"/> is not valid.
</exception><exception cref="T:System.ArgumentNullException">
The <paramref name="target"/> is null (Nothing in Visual Basic).
</exception><remarks>
<para>
Only <see cref="T:System.Threading.Tasks.Dataflow.ITargetBlock`1"/> instances linked to this <see cref="T:System.Threading.Tasks.Dataflow.ISourceBlock`1"/> instance
may use <see cref="M:ReserveMessage"/>, and it must only be used
to reserve <see cref="T:System.Threading.Tasks.Dataflow.DataflowMessageHeader"/> instances previously
offered by this source to the target.
</para>
<para>
If true is returned, the <see cref="T:System.Threading.Tasks.Dataflow.ITargetBlock`1"/> must subsequently call either <see cref="M:ConsumeMessage"/> or <see cref="M:ReserveMessage"/> for this message.
Failure to do so may result in the source being unable to propagate any further messages to this or other targets.
</para>
<para>
<see cref="M:ReserveMessage"/> must not be called while the target is holding any internal locks. Doing so will violate the lock hierarchy
necessary to avoid deadlocks in a dataflow network.
</para>
</remarks>
</member>
<member name="M:System.Threading.Tasks.Dataflow.BatchedJoinBlock`2.System#Threading#Tasks#Dataflow#ISourceBlock{System#Tuple{System#Collections#Generic#IList{T1}@System#Collections#Generic#IList{T2}}}#ReleaseReservation(System.Threading.Tasks.Dataflow.DataflowMessageHeader,System.Threading.Tasks.Dataflow.ITargetBlock{System.Tuple{System.Collections.Generic.IList{`0},System.Collections.Generic.IList{`1}}})">
<summary>
Called by a linked <see cref="T:System.Threading.Tasks.Dataflow.ITargetBlock`1"/> to release a previously reserved
<see cref="T:System.Threading.Tasks.Dataflow.DataflowMessageHeader"/> by this <see cref="T:System.Threading.Tasks.Dataflow.ISourceBlock`1"/>.
</summary><param name="messageHeader">
The <see cref="T:System.Threading.Tasks.Dataflow.DataflowMessageHeader"/> of the reserved message being released.
</param><param name="target">
The <see cref="T:System.Threading.Tasks.Dataflow.ITargetBlock`1"/> releasing the message it previously reserved.
</param><exception cref="T:System.ArgumentException">
The <paramref name="messageHeader"/> is not valid.
</exception><exception cref="T:System.ArgumentNullException">
The <paramref name="target"/> is null (Nothing in Visual Basic).
</exception><exception cref="T:System.InvalidOperationException">
The <paramref name="target"/> did not have the message reserved.
</exception><remarks>
<para>
Only <see cref="T:System.Threading.Tasks.Dataflow.ITargetBlock`1"/> instances linked to this <see cref="T:System.Threading.Tasks.Dataflow.ISourceBlock`1"/>
instance may use <see cref="M:ReleaseMessage"/>, and it must only be used
to release <see cref="T:System.Threading.Tasks.Dataflow.DataflowMessageHeader"/> instances previously
and successfully reserved by the target.
</para>
</remarks>
</member>
<member name="M:System.Threading.Tasks.Dataflow.BatchedJoinBlock`2.CompleteEachTarget">
<summary>
Invokes Complete on each target
</summary>
</member>
<member name="P:System.Threading.Tasks.Dataflow.BatchedJoinBlock`2.BatchSize">
<summary>Gets the size of the batches generated by this <see cref="T:System.Threading.Tasks.Dataflow.BatchedJoinBlock`2"/>.</summary>
</member>
<member name="P:System.Threading.Tasks.Dataflow.BatchedJoinBlock`2.Target1">
<summary>Gets a target that may be used to offer messages of the first type.</summary>
</member>
<member name="P:System.Threading.Tasks.Dataflow.BatchedJoinBlock`2.Target2">
<summary>Gets a target that may be used to offer messages of the second type.</summary>
</member>
<member name="P:System.Threading.Tasks.Dataflow.BatchedJoinBlock`2.OutputCount">
<summary>
Gets the number of output items available to be received from this block.
</summary>
</member>
<member name="P:System.Threading.Tasks.Dataflow.BatchedJoinBlock`2.Completion">
<summary>
Gets a <see cref="T:System.Threading.Tasks.Task">Task</see> that represents the asynchronous operation and completion of the dataflow block.
</summary><remarks>
A dataflow block is considered completed when it is not currently processing a message and when it has guaranteed that it will not process
any more messages. The returned <see cref="T:System.Threading.Tasks.Task">Task</see> will transition to a completed state when the
associated block has completed. It will transition to the <see cref="T:System.Threading.Tasks.TaskStatus">RanToCompletion</see> state
when the block completes its processing successfully according to the dataflow block’s defined semantics, it will transition to
the <see cref="T:System.Threading.Tasks.TaskStatus">Faulted</see> state when the dataflow block has completed processing prematurely due to an unhandled exception,
and it will transition to the <see cref="T:System.Threading.Tasks.TaskStatus">Canceled</see> state when the dataflow block has completed processing
prematurely due to receiving a cancellation request. If the task completes in the Faulted state, its Exception property will return
an <see cref="T:System.AggregateException"/> containing the one or more exceptions that caused the block to fail.
</remarks>
</member>
<member name="P:System.Threading.Tasks.Dataflow.BatchedJoinBlock`2.OutputCountForDebugger">
<summary>Gets the number of messages waiting to be processed. This must only be used from the debugger as it avoids taking necessary locks.</summary>
</member>
<member name="P:System.Threading.Tasks.Dataflow.BatchedJoinBlock`2.DebuggerDisplayContent">
<summary>The data to display in the debugger display attribute.</summary>
</member>
<member name="P:System.Threading.Tasks.Dataflow.BatchedJoinBlock`2.System#Threading#Tasks#Dataflow#Internal#IDebuggerDisplay#Content">
<summary>Gets the data to display in the debugger display attribute for this instance.</summary>
</member>
<member name="T:System.Threading.Tasks.Dataflow.BatchedJoinBlock`2.DebugView">
<summary>Provides a debugger type proxy for the Transform.</summary>
</member>
<member name="F:System.Threading.Tasks.Dataflow.BatchedJoinBlock`2.DebugView.m_batchedJoinBlock">
<summary>The block being viewed.</summary>
</member>
<member name="F:System.Threading.Tasks.Dataflow.BatchedJoinBlock`2.DebugView.m_sourceDebuggingInformation">
<summary>The source half of the block being viewed.</summary>
</member>
<member name="M:System.Threading.Tasks.Dataflow.BatchedJoinBlock`2.DebugView.#ctor(System.Threading.Tasks.Dataflow.BatchedJoinBlock{`0,`1})">
<summary>Initializes the debug view.</summary>
<param name="batchedJoinBlock">The batched join being viewed.</param>
</member>
<member name="P:System.Threading.Tasks.Dataflow.BatchedJoinBlock`2.DebugView.OutputQueue">
<summary>Gets the messages waiting to be received.</summary>
</member>
<member name="P:System.Threading.Tasks.Dataflow.BatchedJoinBlock`2.DebugView.BatchesCreated">
<summary>Gets the number of batches created.</summary>
</member>
<member name="P:System.Threading.Tasks.Dataflow.BatchedJoinBlock`2.DebugView.RemainingItemsForBatch">
<summary>Gets the number of items remaining to form a batch.</summary>
</member>
<member name="P:System.Threading.Tasks.Dataflow.BatchedJoinBlock`2.DebugView.BatchSize">
<summary>Gets the size of the batches generated by this BatchedJoin.</summary>
</member>
<member name="P:System.Threading.Tasks.Dataflow.BatchedJoinBlock`2.DebugView.Target1">
<summary>Gets the first target.</summary>
</member>
<member name="P:System.Threading.Tasks.Dataflow.BatchedJoinBlock`2.DebugView.Target2">
<summary>Gets the second target.</summary>
</member>
<member name="P:System.Threading.Tasks.Dataflow.BatchedJoinBlock`2.DebugView.TaskForOutputProcessing">
<summary>Gets the task being used for output processing.</summary>
</member>
<member name="P:System.Threading.Tasks.Dataflow.BatchedJoinBlock`2.DebugView.DataflowBlockOptions">
<summary>Gets the DataflowBlockOptions used to configure this block.</summary>
</member>
<member name="P:System.Threading.Tasks.Dataflow.BatchedJoinBlock`2.DebugView.IsCompleted">
<summary>Gets whether the block is completed.</summary>
</member>
<member name="P:System.Threading.Tasks.Dataflow.BatchedJoinBlock`2.DebugView.Id">
<summary>Gets the block's Id.</summary>
</member>
<member name="P:System.Threading.Tasks.Dataflow.BatchedJoinBlock`2.DebugView.LinkedTargets">
<summary>Gets the set of all targets linked from this block.</summary>
</member>
<member name="P:System.Threading.Tasks.Dataflow.BatchedJoinBlock`2.DebugView.NextMessageReservedFor">
<summary>Gets the target that holds a reservation on the next message, if any.</summary>
</member>
<member name="T:System.Threading.Tasks.Dataflow.BatchedJoinBlock`3">
<summary>
Provides a dataflow block that batches a specified number of inputs of potentially differing types
provided to one or more of its targets.
</summary>
<typeparam name="T1">Specifies the type of data accepted by the block's first target.</typeparam>
<typeparam name="T2">Specifies the type of data accepted by the block's second target.</typeparam>
<typeparam name="T3">Specifies the type of data accepted by the block's third target.</typeparam>
</member>
<member name="F:System.Threading.Tasks.Dataflow.BatchedJoinBlock`3.m_batchSize">
<summary>The size of the batches generated by this BatchedJoin.</summary>
</member>
<member name="F:System.Threading.Tasks.Dataflow.BatchedJoinBlock`3.m_sharedResources">
<summary>State shared among the targets.</summary>
</member>
<member name="F:System.Threading.Tasks.Dataflow.BatchedJoinBlock`3.m_target1">
<summary>The target providing inputs of type T1.</summary>
</member>
<member name="F:System.Threading.Tasks.Dataflow.BatchedJoinBlock`3.m_target2">
<summary>The target providing inputs of type T2.</summary>
</member>
<member name="F:System.Threading.Tasks.Dataflow.BatchedJoinBlock`3.m_target3">
<summary>The target providing inputs of type T3.</summary>
</member>
<member name="F:System.Threading.Tasks.Dataflow.BatchedJoinBlock`3.m_source">
<summary>The source side.</summary>
</member>
<member name="M:System.Threading.Tasks.Dataflow.BatchedJoinBlock`3.#ctor(System.Int32)">
<summary>Initializes this <see cref="T:System.Threading.Tasks.Dataflow.BatchedJoinBlock`3"/> with the specified configuration.</summary>
<param name="batchSize">The number of items to group into a batch.</param>
<exception cref="T:System.ArgumentOutOfRangeException">The <paramref name="batchSize"/> must be positive.</exception>
</member>
<member name="M:System.Threading.Tasks.Dataflow.BatchedJoinBlock`3.#ctor(System.Int32,System.Threading.Tasks.Dataflow.GroupingDataflowBlockOptions)">
<summary>Initializes this <see cref="T:System.Threading.Tasks.Dataflow.BatchedJoinBlock`3"/> with the specified configuration.</summary>
<param name="batchSize">The number of items to group into a batch.</param>
<param name="dataflowBlockOptions">The options with which to configure this <see cref="T:System.Threading.Tasks.Dataflow.BatchedJoinBlock`2"/>.</param>
<exception cref="T:System.ArgumentOutOfRangeException">The <paramref name="batchSize"/> must be positive.</exception>
<exception cref="T:System.ArgumentNullException">The <paramref name="dataflowBlockOptions"/> is null (Nothing in Visual Basic).</exception>
</member>
<member name="M:System.Threading.Tasks.Dataflow.BatchedJoinBlock`3.LinkTo(System.Threading.Tasks.Dataflow.ITargetBlock{System.Tuple{System.Collections.Generic.IList{`0},System.Collections.Generic.IList{`1},System.Collections.Generic.IList{`2}}},System.Boolean)">
<summary>
Links the <see cref="T:System.Threading.Tasks.Dataflow.ISourceBlock`1"/> to the specified <see cref="T:System.Threading.Tasks.Dataflow.ITargetBlock`1"/>.
</summary><param name="target">
The <see cref="T:System.Threading.Tasks.Dataflow.ITargetBlock`1"/> to which to connect this source.
</param><param name="unlinkAfterOne">
true if the source should unlink from the target after successfully propagating a single message;
otherwise, false to remain connected even after a single message has been propagated.
</param><returns>An IDisposable that, upon calling Dispose, will unlink the source from the target.</returns><exception cref="T:System.ArgumentNullException">
The <paramref name="target"/> is null (Nothing in Visual Basic).
</exception>
</member>
<member name="M:System.Threading.Tasks.Dataflow.BatchedJoinBlock`3.TryReceive(System.Predicate{System.Tuple{System.Collections.Generic.IList{`0},System.Collections.Generic.IList{`1},System.Collections.Generic.IList{`2}}},System.Tuple{System.Collections.Generic.IList{`0},System.Collections.Generic.IList{`1},System.Collections.Generic.IList{`2}}@)">
<summary>
Attempts to synchronously receive an available output item from the <see cref="T:System.Threading.Tasks.Dataflow.ISourceBlock`1"/>.
</summary><param name="filter">
The predicate a value must successfully pass in order for it to be received.
<paramref name="filter"/> may be null (Nothing in Visual Basic), in which case all items will pass.
</param><param name="item">The item received from the source.</param><returns>true if an item could be received; otherwise, false.</returns><remarks>
This method does not block waiting for the source to provide an item.
It will return after checking for an element, whether or not an element was available.
</remarks>
</member>
<member name="M:System.Threading.Tasks.Dataflow.BatchedJoinBlock`3.TryReceiveAll(System.Collections.Generic.IList{System.Tuple{System.Collections.Generic.IList{`0},System.Collections.Generic.IList{`1},System.Collections.Generic.IList{`2}}}@)">
<summary>
Attempts to synchronously receive all available items from the <see cref="T:System.Threading.Tasks.Dataflow.ISourceBlock`1"/>.
</summary><param name="items">The items received from the source.</param><returns>true if one or more items could be received; otherwise, false.</returns><remarks>
This method does not block waiting for the source to provide an item.
It will return after checking for elements, whether or not an element was available.
</remarks>
</member>
<member name="M:System.Threading.Tasks.Dataflow.BatchedJoinBlock`3.Complete">
<summary>
Signals to the <see cref="T:System.Threading.Tasks.Dataflow.IDataflowBlock"/> that it should not accept
nor produce any more messages nor consume any more postponed messages.
</summary><remarks>
After Complete has been called on a dataflow block, that block will complete
(such that its <see cref="M:Completion"/> task will enter a final state) after it's processed all previously
available data. Complete will not block waiting for completion to occur, but rather will initiaite
the request; to wait for completion to occur, the <see cref="M:Completion"/> task may be used.
</remarks>
</member>
<member name="M:System.Threading.Tasks.Dataflow.BatchedJoinBlock`3.System#Threading#Tasks#Dataflow#IDataflowBlock#Fault(System.Exception)">
<summary>
Causes the <see cref="T:System.Threading.Tasks.Dataflow.IDataflowBlock"/> to complete in a
<see cref="F:System.Threading.Tasks.TaskStatus.Faulted"/> state.
</summary><param name="exception">The <see cref="T:System.Exception"/> that caused the faulting.</param><exception cref="T:System.ArgumentNullException">
The <paramref name="exception"/> is null (Nothing in Visual Basic).
</exception><remarks>
After Fault has been called on a dataflow block, that block will complete
(such that its <see cref="M:Completion"/> task will enter a final state). Faulting a block causes
buffered messages (uprocessed input messages as well as unoffered output messages) to be lost.
</remarks>
</member>
<member name="M:System.Threading.Tasks.Dataflow.BatchedJoinBlock`3.System#Threading#Tasks#Dataflow#ISourceBlock{System#Tuple{System#Collections#Generic#IList{T1}@System#Collections#Generic#IList{T2}@System#Collections#Generic#IList{T3}}}#ConsumeMessage(System.Threading.Tasks.Dataflow.DataflowMessageHeader,System.Threading.Tasks.Dataflow.ITargetBlock{System.Tuple{System.Collections.Generic.IList{`0},System.Collections.Generic.IList{`1},System.Collections.Generic.IList{`2}}},System.Boolean@)">
<summary>
Called by a linked <see cref="T:System.Threading.Tasks.Dataflow.ITargetBlock`1"/> to accept and consume a
<see cref="T:System.Threading.Tasks.Dataflow.DataflowMessageHeader"/> previously offered by this <see cref="T:System.Threading.Tasks.Dataflow.ISourceBlock`1"/>.
</summary><param name="messageHeader">The <see cref="T:System.Threading.Tasks.Dataflow.DataflowMessageHeader"/> of the message being consumed.</param><param name="target">
The <see cref="T:System.Threading.Tasks.Dataflow.ITargetBlock`1"/> consuming the message.
</param><param name="messageConsumed">
True if the message was successfully consumed. False otherwise.
</param><returns>
<para>
The value of the consumed message. This may correspond to a different <see cref="T:System.Threading.Tasks.Dataflow.DataflowMessageHeader"/> instance than was previously reserved and
passed as the <paramref name="messageHeader"/> to <see cref="M:ConsumeMessage"/>. The consuming <see cref="T:System.Threading.Tasks.Dataflow.ITargetBlock`1"/> must
use the returned value instead of the value passed as messageValue through <see cref="M:OfferMessage"/>.
</para>
<para>
If the message requested is not available, the return value will be null (Nothing in Visual Basic).
</para>
</returns><exception cref="T:System.ArgumentException">
The <paramref name="messageHeader"/> is not valid.
</exception><exception cref="T:System.ArgumentNullException">
The <paramref name="target"/> is null (Nothing in Visual Basic).
</exception><remarks>
<para>
Only <see cref="T:System.Threading.Tasks.Dataflow.ITargetBlock`1"/> instances linked to this <see cref="T:System.Threading.Tasks.Dataflow.ISourceBlock`1"/>
instance may use <see cref="M:ConsumeMessage"/>, and it must only be used
to reserve <see cref="T:System.Threading.Tasks.Dataflow.DataflowMessageHeader"/> instances previously
offered by this source to the target.
</para>
</remarks>
</member>
<member name="M:System.Threading.Tasks.Dataflow.BatchedJoinBlock`3.System#Threading#Tasks#Dataflow#ISourceBlock{System#Tuple{System#Collections#Generic#IList{T1}@System#Collections#Generic#IList{T2}@System#Collections#Generic#IList{T3}}}#ReserveMessage(System.Threading.Tasks.Dataflow.DataflowMessageHeader,System.Threading.Tasks.Dataflow.ITargetBlock{System.Tuple{System.Collections.Generic.IList{`0},System.Collections.Generic.IList{`1},System.Collections.Generic.IList{`2}}})">
<summary>
Called by a linked <see cref="T:System.Threading.Tasks.Dataflow.ITargetBlock`1"/> to reserve a previously offered <see cref="T:System.Threading.Tasks.Dataflow.DataflowMessageHeader"/>
by this <see cref="T:System.Threading.Tasks.Dataflow.ISourceBlock`1"/>.
</summary><param name="messageHeader">
The <see cref="T:System.Threading.Tasks.Dataflow.DataflowMessageHeader"/> of the message being reserved.
</param><param name="target">
The <see cref="T:System.Threading.Tasks.Dataflow.ITargetBlock`1"/> reserving the message.
</param><returns>true if the message was successfully reserved; otherwise, false.</returns><exception cref="T:System.ArgumentException">
The <paramref name="messageHeader"/> is not valid.
</exception><exception cref="T:System.ArgumentNullException">
The <paramref name="target"/> is null (Nothing in Visual Basic).
</exception><remarks>
<para>
Only <see cref="T:System.Threading.Tasks.Dataflow.ITargetBlock`1"/> instances linked to this <see cref="T:System.Threading.Tasks.Dataflow.ISourceBlock`1"/> instance
may use <see cref="M:ReserveMessage"/>, and it must only be used
to reserve <see cref="T:System.Threading.Tasks.Dataflow.DataflowMessageHeader"/> instances previously
offered by this source to the target.
</para>
<para>
If true is returned, the <see cref="T:System.Threading.Tasks.Dataflow.ITargetBlock`1"/> must subsequently call either <see cref="M:ConsumeMessage"/> or <see cref="M:ReserveMessage"/> for this message.
Failure to do so may result in the source being unable to propagate any further messages to this or other targets.
</para>
<para>
<see cref="M:ReserveMessage"/> must not be called while the target is holding any internal locks. Doing so will violate the lock hierarchy
necessary to avoid deadlocks in a dataflow network.
</para>
</remarks>
</member>
<member name="M:System.Threading.Tasks.Dataflow.BatchedJoinBlock`3.System#Threading#Tasks#Dataflow#ISourceBlock{System#Tuple{System#Collections#Generic#IList{T1}@System#Collections#Generic#IList{T2}@System#Collections#Generic#IList{T3}}}#ReleaseReservation(System.Threading.Tasks.Dataflow.DataflowMessageHeader,System.Threading.Tasks.Dataflow.ITargetBlock{System.Tuple{System.Collections.Generic.IList{`0},System.Collections.Generic.IList{`1},System.Collections.Generic.IList{`2}}})">
<summary>
Called by a linked <see cref="T:System.Threading.Tasks.Dataflow.ITargetBlock`1"/> to release a previously reserved
<see cref="T:System.Threading.Tasks.Dataflow.DataflowMessageHeader"/> by this <see cref="T:System.Threading.Tasks.Dataflow.ISourceBlock`1"/>.
</summary><param name="messageHeader">
The <see cref="T:System.Threading.Tasks.Dataflow.DataflowMessageHeader"/> of the reserved message being released.
</param><param name="target">
The <see cref="T:System.Threading.Tasks.Dataflow.ITargetBlock`1"/> releasing the message it previously reserved.
</param><exception cref="T:System.ArgumentException">
The <paramref name="messageHeader"/> is not valid.
</exception><exception cref="T:System.ArgumentNullException">
The <paramref name="target"/> is null (Nothing in Visual Basic).
</exception><exception cref="T:System.InvalidOperationException">
The <paramref name="target"/> did not have the message reserved.
</exception><remarks>
<para>
Only <see cref="T:System.Threading.Tasks.Dataflow.ITargetBlock`1"/> instances linked to this <see cref="T:System.Threading.Tasks.Dataflow.ISourceBlock`1"/>
instance may use <see cref="M:ReleaseMessage"/>, and it must only be used
to release <see cref="T:System.Threading.Tasks.Dataflow.DataflowMessageHeader"/> instances previously
and successfully reserved by the target.
</para>
</remarks>
</member>
<member name="M:System.Threading.Tasks.Dataflow.BatchedJoinBlock`3.CompleteEachTarget">
<summary>
Invokes Complete on each target
</summary>
</member>
<member name="P:System.Threading.Tasks.Dataflow.BatchedJoinBlock`3.BatchSize">
<summary>Gets the size of the batches generated by this <see cref="T:System.Threading.Tasks.Dataflow.BatchedJoinBlock`3"/>.</summary>
</member>
<member name="P:System.Threading.Tasks.Dataflow.BatchedJoinBlock`3.Target1">
<summary>Gets a target that may be used to offer messages of the first type.</summary>
</member>
<member name="P:System.Threading.Tasks.Dataflow.BatchedJoinBlock`3.Target2">
<summary>Gets a target that may be used to offer messages of the second type.</summary>
</member>
<member name="P:System.Threading.Tasks.Dataflow.BatchedJoinBlock`3.Target3">
<summary>Gets a target that may be used to offer messages of the third type.</summary>
</member>
<member name="P:System.Threading.Tasks.Dataflow.BatchedJoinBlock`3.OutputCount">
<summary>
Gets the number of output items available to be received from this block.
</summary>
</member>
<member name="P:System.Threading.Tasks.Dataflow.BatchedJoinBlock`3.Completion">
<summary>
Gets a <see cref="T:System.Threading.Tasks.Task">Task</see> that represents the asynchronous operation and completion of the dataflow block.
</summary><remarks>
A dataflow block is considered completed when it is not currently processing a message and when it has guaranteed that it will not process
any more messages. The returned <see cref="T:System.Threading.Tasks.Task">Task</see> will transition to a completed state when the
associated block has completed. It will transition to the <see cref="T:System.Threading.Tasks.TaskStatus">RanToCompletion</see> state
when the block completes its processing successfully according to the dataflow block’s defined semantics, it will transition to
the <see cref="T:System.Threading.Tasks.TaskStatus">Faulted</see> state when the dataflow block has completed processing prematurely due to an unhandled exception,
and it will transition to the <see cref="T:System.Threading.Tasks.TaskStatus">Canceled</see> state when the dataflow block has completed processing
prematurely due to receiving a cancellation request. If the task completes in the Faulted state, its Exception property will return
an <see cref="T:System.AggregateException"/> containing the one or more exceptions that caused the block to fail.
</remarks>
</member>
<member name="P:System.Threading.Tasks.Dataflow.BatchedJoinBlock`3.OutputCountForDebugger">
<summary>Gets the number of messages waiting to be processed. This must only be used from the debugger as it avoids taking necessary locks.</summary>
</member>
<member name="P:System.Threading.Tasks.Dataflow.BatchedJoinBlock`3.DebuggerDisplayContent">
<summary>The data to display in the debugger display attribute.</summary>
</member>
<member name="P:System.Threading.Tasks.Dataflow.BatchedJoinBlock`3.System#Threading#Tasks#Dataflow#Internal#IDebuggerDisplay#Content">
<summary>Gets the data to display in the debugger display attribute for this instance.</summary>
</member>
<member name="T:System.Threading.Tasks.Dataflow.BatchedJoinBlock`3.DebugView">
<summary>Provides a debugger type proxy for the Transform.</summary>
</member>
<member name="F:System.Threading.Tasks.Dataflow.BatchedJoinBlock`3.DebugView.m_batchedJoinBlock">
<summary>The block being viewed.</summary>
</member>
<member name="F:System.Threading.Tasks.Dataflow.BatchedJoinBlock`3.DebugView.m_sourceDebuggingInformation">
<summary>The source half of the block being viewed.</summary>
</member>
<member name="M:System.Threading.Tasks.Dataflow.BatchedJoinBlock`3.DebugView.#ctor(System.Threading.Tasks.Dataflow.BatchedJoinBlock{`0,`1,`2})">
<summary>Initializes the debug view.</summary>
<param name="batchedJoinBlock">The batched join being viewed.</param>
</member>
<member name="P:System.Threading.Tasks.Dataflow.BatchedJoinBlock`3.DebugView.OutputQueue">
<summary>Gets the messages waiting to be received.</summary>
</member>
<member name="P:System.Threading.Tasks.Dataflow.BatchedJoinBlock`3.DebugView.BatchesCreated">
<summary>Gets the number of batches created.</summary>
</member>
<member name="P:System.Threading.Tasks.Dataflow.BatchedJoinBlock`3.DebugView.RemainingItemsForBatch">
<summary>Gets the number of items remaining to form a batch.</summary>
</member>
<member name="P:System.Threading.Tasks.Dataflow.BatchedJoinBlock`3.DebugView.BatchSize">
<summary>Gets the size of the batches generated by this BatchedJoin.</summary>
</member>
<member name="P:System.Threading.Tasks.Dataflow.BatchedJoinBlock`3.DebugView.Target1">
<summary>Gets the first target.</summary>
</member>
<member name="P:System.Threading.Tasks.Dataflow.BatchedJoinBlock`3.DebugView.Target2">
<summary>Gets the second target.</summary>
</member>
<member name="P:System.Threading.Tasks.Dataflow.BatchedJoinBlock`3.DebugView.Target3">
<summary>Gets the second target.</summary>
</member>
<member name="P:System.Threading.Tasks.Dataflow.BatchedJoinBlock`3.DebugView.TaskForOutputProcessing">
<summary>Gets the task being used for output processing.</summary>
</member>
<member name="P:System.Threading.Tasks.Dataflow.BatchedJoinBlock`3.DebugView.DataflowBlockOptions">
<summary>Gets the DataflowBlockOptions used to configure this block.</summary>
</member>
<member name="P:System.Threading.Tasks.Dataflow.BatchedJoinBlock`3.DebugView.IsCompleted">
<summary>Gets whether the block is completed.</summary>
</member>
<member name="P:System.Threading.Tasks.Dataflow.BatchedJoinBlock`3.DebugView.Id">
<summary>Gets the block's Id.</summary>
</member>
<member name="P:System.Threading.Tasks.Dataflow.BatchedJoinBlock`3.DebugView.LinkedTargets">
<summary>Gets the set of all targets linked from this block.</summary>
</member>
<member name="P:System.Threading.Tasks.Dataflow.BatchedJoinBlock`3.DebugView.NextMessageReservedFor">
<summary>Gets the target that holds a reservation on the next message, if any.</summary>
</member>
<member name="T:System.Threading.Tasks.Dataflow.Internal.BatchedJoinBlockTarget`1">
<summary>Provides the target used in a BatchedJoin.</summary>
<typeparam name="T">Specifies the type of data accepted by this target.</typeparam>
</member>
<member name="T:System.Threading.Tasks.Dataflow.ITargetBlock`1">
<summary>Represents a dataflow block that is a target for data.</summary>
<typeparam name="TInput">Specifies the type of data accepted by the <see cref="T:System.Threading.Tasks.Dataflow.ITargetBlock`1"/>.</typeparam>
</member>
<member name="M:System.Threading.Tasks.Dataflow.ITargetBlock`1.OfferMessage(System.Threading.Tasks.Dataflow.DataflowMessageHeader,`0,System.Threading.Tasks.Dataflow.ISourceBlock{`0},System.Boolean)">
<!-- No matching elements were found for the following include tag --><include file="CommonXmlDocComments.xml" path="CommonXmlDocComments/Sources/Member[@name=&quot;OfferMessage&quot;]/*"/>
</member>
<member name="F:System.Threading.Tasks.Dataflow.Internal.BatchedJoinBlockTarget`1.m_sharedResources">
<summary>The shared resources used by all targets associated with the same batched join instance.</summary>
</member>
<member name="F:System.Threading.Tasks.Dataflow.Internal.BatchedJoinBlockTarget`1.m_decliningPermanently">
<summary>Whether this target is declining future messages.</summary>
</member>
<member name="F:System.Threading.Tasks.Dataflow.Internal.BatchedJoinBlockTarget`1.m_messages">
<summary>Input messages for the next batch.</summary>
</member>
<member name="M:System.Threading.Tasks.Dataflow.Internal.BatchedJoinBlockTarget`1.#ctor(System.Threading.Tasks.Dataflow.Internal.BatchedJoinBlockTargetSharedResources)">
<summary>Initializes the target.</summary>
<param name="sharedResources">The shared resources used by all targets associated with this batched join.</param>
</member>
<member name="M:System.Threading.Tasks.Dataflow.Internal.BatchedJoinBlockTarget`1.GetAndEmptyMessages">
<summary>Gets the messages buffered by this target and then empties the collection.</summary>
<returns>The messages from the target.</returns>
</member>
<member name="M:System.Threading.Tasks.Dataflow.Internal.BatchedJoinBlockTarget`1.OfferMessage(System.Threading.Tasks.Dataflow.DataflowMessageHeader,`0,System.Threading.Tasks.Dataflow.ISourceBlock{`0},System.Boolean)">
<summary>
Offers a message to the <see cref="T:System.Threading.Tasks.Dataflow.ITargetBlock`1"/>, giving the target the opportunity to consume or postpone the message.
</summary><param name="messageHeader">
A <see cref="T:System.Threading.Tasks.Dataflow.DataflowMessageHeader"/> instance that represents the header of the message being offered.
</param><param name="messageValue">
The value of the message being offered.
</param><param name="source">
The <see cref="T:System.Threading.Tasks.Dataflow.ISourceBlock`1"/> offering the message. This may be null (Nothing in Visual Basic).
</param><param name="consumeToAccept">
true if the target must call ConsumeMessage synchronously during the call to OfferMessage, prior to returning
<see cref="F:System.Threading.Tasks.Dataflow.DataflowMessageStatus.Accepted"/>, in order to consume the message.
false if the target wanting to accept the message should not call ConsumeMessage, and should isntead simply return DataflowMessageStatus.Accepted.
</param><returns>
The status of the offered message. If the message was accepted by the target, <see cref="F:System.Threading.Tasks.Dataflow.DataflowMessageStatus.Accepted"/> is returned, and the source should
no longer use the offered message, as it is now owned by the target. If the message was postponed by the target, <see cref="F:System.Threading.Tasks.Dataflow.DataflowMessageStatus.Postponed"/> is returned
as a notification that the target may later attempt to consume or reserve the message; in the meantime, the source still owns the message and may offer it to other blocks.
If the target would have otherwise postponed but source was null, <see cref="F:System.Threading.Tasks.Dataflow.DataflowMessageStatus.Declined"/> is instead returned.
If the target tried to accept the message but missed it due to the source delivering the message to another target or simply discarding it,
<see cref="F:System.Threading.Tasks.Dataflow.DataflowMessageStatus.NotAvailable"/> is returned.
If the target chose not to accept the message, <see cref="F:System.Threading.Tasks.Dataflow.DataflowMessageStatus.Declined"/> is returned. If the target
chose not to accept the message and will never accept another message from this source, <see cref="F:System.Threading.Tasks.Dataflow.DataflowMessageStatus.DecliningPermanently"/> is returned.
</returns><exception cref="T:System.ArgumentException">
The <paramref name="messageHeader"/> is not valid.
</exception><exception cref="T:System.ArgumentException">
<paramref name="consumeToAccept"/> may only be true if provided with a non-null <paramref name="source"/>.
</exception>
</member>
<member name="M:System.Threading.Tasks.Dataflow.Internal.BatchedJoinBlockTarget`1.Complete">
<summary>
Signals to the <see cref="T:System.Threading.Tasks.Dataflow.IDataflowBlock"/> that it should not accept
nor produce any more messages nor consume any more postponed messages.
</summary><remarks>
After Complete has been called on a dataflow block, that block will complete
(such that its <see cref="M:Completion"/> task will enter a final state) after it's processed all previously
available data. Complete will not block waiting for completion to occur, but rather will initiaite
the request; to wait for completion to occur, the <see cref="M:Completion"/> task may be used.
</remarks>
</member>
<member name="M:System.Threading.Tasks.Dataflow.Internal.BatchedJoinBlockTarget`1.System#Threading#Tasks#Dataflow#IDataflowBlock#Fault(System.Exception)">
<summary>
Causes the <see cref="T:System.Threading.Tasks.Dataflow.IDataflowBlock"/> to complete in a
<see cref="F:System.Threading.Tasks.TaskStatus.Faulted"/> state.
</summary><param name="exception">The <see cref="T:System.Exception"/> that caused the faulting.</param><exception cref="T:System.ArgumentNullException">
The <paramref name="exception"/> is null (Nothing in Visual Basic).
</exception><remarks>
After Fault has been called on a dataflow block, that block will complete
(such that its <see cref="M:Completion"/> task will enter a final state). Faulting a block causes
buffered messages (uprocessed input messages as well as unoffered output messages) to be lost.
</remarks>
</member>
<member name="P:System.Threading.Tasks.Dataflow.Internal.BatchedJoinBlockTarget`1.Count">
<summary>Gets the number of messages buffered in this target.</summary>
</member>
<member name="P:System.Threading.Tasks.Dataflow.Internal.BatchedJoinBlockTarget`1.System#Threading#Tasks#Dataflow#IDataflowBlock#Completion">
<summary>
Gets a <see cref="T:System.Threading.Tasks.Task">Task</see> that represents the asynchronous operation and completion of the dataflow block.
</summary><remarks>
A dataflow block is considered completed when it is not currently processing a message and when it has guaranteed that it will not process
any more messages. The returned <see cref="T:System.Threading.Tasks.Task">Task</see> will transition to a completed state when the
associated block has completed. It will transition to the <see cref="T:System.Threading.Tasks.TaskStatus">RanToCompletion</see> state
when the block completes its processing successfully according to the dataflow block’s defined semantics, it will transition to
the <see cref="T:System.Threading.Tasks.TaskStatus">Faulted</see> state when the dataflow block has completed processing prematurely due to an unhandled exception,
and it will transition to the <see cref="T:System.Threading.Tasks.TaskStatus">Canceled</see> state when the dataflow block has completed processing
prematurely due to receiving a cancellation request. If the task completes in the Faulted state, its Exception property will return
an <see cref="T:System.AggregateException"/> containing the one or more exceptions that caused the block to fail.
</remarks>
</member>
<member name="P:System.Threading.Tasks.Dataflow.Internal.BatchedJoinBlockTarget`1.DebuggerDisplayContent">
<summary>The data to display in the debugger display attribute.</summary>
</member>
<member name="P:System.Threading.Tasks.Dataflow.Internal.BatchedJoinBlockTarget`1.System#Threading#Tasks#Dataflow#Internal#IDebuggerDisplay#Content">
<summary>Gets the data to display in the debugger display attribute for this instance.</summary>
</member>
<member name="T:System.Threading.Tasks.Dataflow.Internal.BatchedJoinBlockTarget`1.DebugView">
<summary>Provides a debugger type proxy for the Transform.</summary>
</member>
<member name="F:System.Threading.Tasks.Dataflow.Internal.BatchedJoinBlockTarget`1.DebugView.m_batchedJoinBlockTarget">
<summary>The batched join block target being viewed.</summary>
</member>
<member name="M:System.Threading.Tasks.Dataflow.Internal.BatchedJoinBlockTarget`1.DebugView.#ctor(System.Threading.Tasks.Dataflow.Internal.BatchedJoinBlockTarget{`0})">
<summary>Initializes the debug view.</summary>
<param name="batchedJoinBlockTarget">The batched join target being viewed.</param>
</member>
<member name="P:System.Threading.Tasks.Dataflow.Internal.BatchedJoinBlockTarget`1.DebugView.InputQueue">
<summary>Gets the messages waiting to be processed.</summary>
</member>
<member name="P:System.Threading.Tasks.Dataflow.Internal.BatchedJoinBlockTarget`1.DebugView.IsDecliningPermanently">
<summary>Gets whether the block is declining further messages.</summary>
</member>
<member name="T:System.Threading.Tasks.Dataflow.Internal.BatchedJoinBlockTargetSharedResources">
<summary>Provides a container for resources shared across all targets used by the same BatchedJoinBlock instance.</summary>
</member>
<member name="M:System.Threading.Tasks.Dataflow.Internal.BatchedJoinBlockTargetSharedResources.#ctor(System.Int32,System.Threading.Tasks.Dataflow.GroupingDataflowBlockOptions,System.Action,System.Action,System.Action{System.Exception},System.Action)">
<summary>Initializes the shared resources.</summary>
<param name="batchSize">The size of a batch to create.</param>
<param name="dataflowBlockOptions">The options used to configur the shared resources. Assumed to be immutable.</param>
<param name="batchSizeReachedAction">The action to invoke when a batch is completed.</param>
<param name="allTargetsDecliningAction">The action to invoke when no more targets are accepting input.</param>
<param name="exceptionAction">The action to invoke when an exception needs to be logged.</param>
<param name="completionAction">The action to invoke when completing, typically invoked due to a call to Fault.</param>
</member>
<member name="F:System.Threading.Tasks.Dataflow.Internal.BatchedJoinBlockTargetSharedResources.m_incomingLock">
<summary>
A lock used to synchronize all incoming messages on all targets. It protects all of the rest
of the shared resource's state and will be held while invoking the delegates.
</summary>
</member>
<member name="F:System.Threading.Tasks.Dataflow.Internal.BatchedJoinBlockTargetSharedResources.m_batchSize">
<summary>The size of the batches to generate.</summary>
</member>
<member name="F:System.Threading.Tasks.Dataflow.Internal.BatchedJoinBlockTargetSharedResources.m_batchSizeReachedAction">
<summary>The action to invoke when enough elements have been accumulated to make a batch.</summary>
</member>
<member name="F:System.Threading.Tasks.Dataflow.Internal.BatchedJoinBlockTargetSharedResources.m_allTargetsDecliningPermanentlyAction">
<summary>The action to invoke when all targets are declining further messages.</summary>
</member>
<member name="F:System.Threading.Tasks.Dataflow.Internal.BatchedJoinBlockTargetSharedResources.m_exceptionAction">
<summary>The action to invoke when an exception has to be logged.</summary>
</member>
<member name="F:System.Threading.Tasks.Dataflow.Internal.BatchedJoinBlockTargetSharedResources.m_completionAction">
<summary>The action to invoke when the owning block has to be completed.</summary>
</member>
<member name="F:System.Threading.Tasks.Dataflow.Internal.BatchedJoinBlockTargetSharedResources.m_remainingItemsInBatch">
<summary>The number of items remaining to form a batch.</summary>
</member>
<member name="F:System.Threading.Tasks.Dataflow.Internal.BatchedJoinBlockTargetSharedResources.m_remainingAliveTargets">
<summary>The number of targets still alive (i.e. not declining all further messages).</summary>
</member>
<member name="F:System.Threading.Tasks.Dataflow.Internal.BatchedJoinBlockTargetSharedResources.m_decliningPermanently">
<summary>Whether all targets should decline all further messages.</summary>
</member>
<member name="F:System.Threading.Tasks.Dataflow.Internal.BatchedJoinBlockTargetSharedResources.m_batchesCreated">
<summary>The number of batches created.</summary>
</member>
<member name="T:System.Threading.Tasks.Dataflow.Internal.SourceCore`1">
<summary>Provides a core implementation for blocks that implement <see cref="T:System.Threading.Tasks.Dataflow.ISourceBlock`1"/>.</summary>
<typeparam name="TOutput">Specifies the type of data supplied by the <see cref="T:System.Threading.Tasks.Dataflow.Internal.SourceCore`1"/>.</typeparam>
</member>
<member name="F:System.Threading.Tasks.Dataflow.Internal.SourceCore`1.m_completionTask">
<summary>A TaskCompletionSource that represents the completion of this block.</summary>
</member>
<member name="F:System.Threading.Tasks.Dataflow.Internal.SourceCore`1.m_targetRegistry">
<summary>A registry used to store all linked targets and information about them.</summary>
</member>
<member name="F:System.Threading.Tasks.Dataflow.Internal.SourceCore`1.m_messages">
<summary>All of the output messages queued up to be received by consumers/targets.</summary>
</member>
<member name="F:System.Threading.Tasks.Dataflow.Internal.SourceCore`1.m_executionContext">
<summary>The execution context captured when this block was instantiated.</summary>
</member>
<member name="F:System.Threading.Tasks.Dataflow.Internal.SourceCore`1.m_owningSource">
<summary>The source utilizing this helper.</summary>
</member>
<member name="F:System.Threading.Tasks.Dataflow.Internal.SourceCore`1.m_dataflowBlockOptions">
<summary>The options used to configure this block's execution.</summary>
</member>
<member name="F:System.Threading.Tasks.Dataflow.Internal.SourceCore`1.m_completeAction">
<summary>
An action to be invoked on the owner block to stop accepting messages.
This action is invoked when SourceCore encounters an exception.
</summary>
</member>
<member name="F:System.Threading.Tasks.Dataflow.Internal.SourceCore`1.m_itemsRemovedAction">
<summary>
An action to be invoked on the owner block when an item is removed.
This may be null if the owner block doesn't need to be notified.
</summary>
</member>
<member name="F:System.Threading.Tasks.Dataflow.Internal.SourceCore`1.m_itemCountingFunc">
<summary>Item counting function</summary>
</member>
<member name="F:System.Threading.Tasks.Dataflow.Internal.SourceCore`1.m_taskForOutputProcessing">
<summary>The task used to process the output and offer it to targets.</summary>
</member>
<member name="F:System.Threading.Tasks.Dataflow.Internal.SourceCore`1.m_nextMessageId">
<summary>Counter for message IDs unique within this source block.</summary>
</member>
<member name="F:System.Threading.Tasks.Dataflow.Internal.SourceCore`1.m_nextMessageReservedFor">
<summary>The target that the next message is reserved for, or null if nothing is reserved.</summary>
</member>
<member name="F:System.Threading.Tasks.Dataflow.Internal.SourceCore`1.m_decliningPermanently">
<summary>Whether all future messages should be declined.</summary>
</member>
<member name="F:System.Threading.Tasks.Dataflow.Internal.SourceCore`1.m_enableOffering">
<summary>Whether this block should again attempt to offer messages to targets.</summary>
</member>
<member name="F:System.Threading.Tasks.Dataflow.Internal.SourceCore`1.m_completionReserved">
<summary>Whether someone has reserved the right to call CompleteBlockOncePossible.</summary>
</member>
<member name="F:System.Threading.Tasks.Dataflow.Internal.SourceCore`1.m_exceptions">
<summary>Exceptions that may have occured and gone unhandled during processing.</summary>
<remarks>
Marked volatile because we compare the m_exceptions reference to null while not under a lock,
but we manipulate it elsewhere (e.g. initializing it to non-null) while holding a lock.
</remarks>
</member>
<member name="M:System.Threading.Tasks.Dataflow.Internal.SourceCore`1.#ctor(System.Threading.Tasks.Dataflow.ISourceBlock{`0},System.Threading.Tasks.Dataflow.DataflowBlockOptions,System.Action{System.Threading.Tasks.Dataflow.ISourceBlock{`0}},System.Action{System.Threading.Tasks.Dataflow.ISourceBlock{`0},System.Int32},System.Func{System.Threading.Tasks.Dataflow.ISourceBlock{`0},`0,System.Collections.Generic.IList{`0},System.Int32})">
<summary>Initializes the source core.</summary>
<param name="owningSource">The source utilizing this core.</param>
<param name="dataflowBlockOptions">The options to use to configure the block.</param>
<param name="completeAction">Action to invoke in order to decline the associated target half, which will in turn decline this source core.</param>
<param name="itemsRemovedAction">Action to invoke when one or more items is removed. This may be null.</param>
<param name="itemCountingFunc">
Action to invoke when the owner needs to be able to count the number of individual
items in an output or set of outputs.
</param>
</member>
<member name="M:System.Threading.Tasks.Dataflow.Internal.SourceCore`1.LinkTo(System.Threading.Tasks.Dataflow.ITargetBlock{`0},System.Boolean)">
<summary>
Links the <see cref="T:System.Threading.Tasks.Dataflow.ISourceBlock`1"/> to the specified <see cref="T:System.Threading.Tasks.Dataflow.ITargetBlock`1"/>.
</summary><param name="target">
The <see cref="T:System.Threading.Tasks.Dataflow.ITargetBlock`1"/> to which to connect this source.
</param><param name="unlinkAfterOne">
true if the source should unlink from the target after successfully propagating a single message;
otherwise, false to remain connected even after a single message has been propagated.
</param><returns>An IDisposable that, upon calling Dispose, will unlink the source from the target.</returns><exception cref="T:System.ArgumentNullException">
The <paramref name="target"/> is null (Nothing in Visual Basic).
</exception>
</member>
<member name="M:System.Threading.Tasks.Dataflow.Internal.SourceCore`1.ConsumeMessage(System.Threading.Tasks.Dataflow.DataflowMessageHeader,System.Threading.Tasks.Dataflow.ITargetBlock{`0},System.Boolean@)">
<summary>
Called by a linked <see cref="T:System.Threading.Tasks.Dataflow.ITargetBlock`1"/> to accept and consume a
<see cref="T:System.Threading.Tasks.Dataflow.DataflowMessageHeader"/> previously offered by this <see cref="T:System.Threading.Tasks.Dataflow.ISourceBlock`1"/>.
</summary><param name="messageHeader">The <see cref="T:System.Threading.Tasks.Dataflow.DataflowMessageHeader"/> of the message being consumed.</param><param name="target">
The <see cref="T:System.Threading.Tasks.Dataflow.ITargetBlock`1"/> consuming the message.
</param><param name="messageConsumed">
True if the message was successfully consumed. False otherwise.
</param><returns>
<para>
The value of the consumed message. This may correspond to a different <see cref="T:System.Threading.Tasks.Dataflow.DataflowMessageHeader"/> instance than was previously reserved and
passed as the <paramref name="messageHeader"/> to <see cref="M:ConsumeMessage"/>. The consuming <see cref="T:System.Threading.Tasks.Dataflow.ITargetBlock`1"/> must
use the returned value instead of the value passed as messageValue through <see cref="M:OfferMessage"/>.
</para>
<para>
If the message requested is not available, the return value will be null (Nothing in Visual Basic).
</para>
</returns><exception cref="T:System.ArgumentException">
The <paramref name="messageHeader"/> is not valid.
</exception><exception cref="T:System.ArgumentNullException">
The <paramref name="target"/> is null (Nothing in Visual Basic).
</exception><remarks>
<para>
Only <see cref="T:System.Threading.Tasks.Dataflow.ITargetBlock`1"/> instances linked to this <see cref="T:System.Threading.Tasks.Dataflow.ISourceBlock`1"/>
instance may use <see cref="M:ConsumeMessage"/>, and it must only be used
to reserve <see cref="T:System.Threading.Tasks.Dataflow.DataflowMessageHeader"/> instances previously
offered by this source to the target.
</para>
</remarks>
</member>
<member name="M:System.Threading.Tasks.Dataflow.Internal.SourceCore`1.ReserveMessage(System.Threading.Tasks.Dataflow.DataflowMessageHeader,System.Threading.Tasks.Dataflow.ITargetBlock{`0})">
<summary>
Called by a linked <see cref="T:System.Threading.Tasks.Dataflow.ITargetBlock`1"/> to reserve a previously offered <see cref="T:System.Threading.Tasks.Dataflow.DataflowMessageHeader"/>
by this <see cref="T:System.Threading.Tasks.Dataflow.ISourceBlock`1"/>.
</summary><param name="messageHeader">
The <see cref="T:System.Threading.Tasks.Dataflow.DataflowMessageHeader"/> of the message being reserved.
</param><param name="target">
The <see cref="T:System.Threading.Tasks.Dataflow.ITargetBlock`1"/> reserving the message.
</param><returns>true if the message was successfully reserved; otherwise, false.</returns><exception cref="T:System.ArgumentException">
The <paramref name="messageHeader"/> is not valid.
</exception><exception cref="T:System.ArgumentNullException">
The <paramref name="target"/> is null (Nothing in Visual Basic).
</exception><remarks>
<para>
Only <see cref="T:System.Threading.Tasks.Dataflow.ITargetBlock`1"/> instances linked to this <see cref="T:System.Threading.Tasks.Dataflow.ISourceBlock`1"/> instance
may use <see cref="M:ReserveMessage"/>, and it must only be used
to reserve <see cref="T:System.Threading.Tasks.Dataflow.DataflowMessageHeader"/> instances previously
offered by this source to the target.
</para>
<para>
If true is returned, the <see cref="T:System.Threading.Tasks.Dataflow.ITargetBlock`1"/> must subsequently call either <see cref="M:ConsumeMessage"/> or <see cref="M:ReserveMessage"/> for this message.
Failure to do so may result in the source being unable to propagate any further messages to this or other targets.
</para>
<para>
<see cref="M:ReserveMessage"/> must not be called while the target is holding any internal locks. Doing so will violate the lock hierarchy
necessary to avoid deadlocks in a dataflow network.
</para>
</remarks>
</member>
<member name="M:System.Threading.Tasks.Dataflow.Internal.SourceCore`1.ReleaseReservation(System.Threading.Tasks.Dataflow.DataflowMessageHeader,System.Threading.Tasks.Dataflow.ITargetBlock{`0})">
<summary>
Called by a linked <see cref="T:System.Threading.Tasks.Dataflow.ITargetBlock`1"/> to release a previously reserved
<see cref="T:System.Threading.Tasks.Dataflow.DataflowMessageHeader"/> by this <see cref="T:System.Threading.Tasks.Dataflow.ISourceBlock`1"/>.
</summary><param name="messageHeader">
The <see cref="T:System.Threading.Tasks.Dataflow.DataflowMessageHeader"/> of the reserved message being released.
</param><param name="target">
The <see cref="T:System.Threading.Tasks.Dataflow.ITargetBlock`1"/> releasing the message it previously reserved.
</param><exception cref="T:System.ArgumentException">
The <paramref name="messageHeader"/> is not valid.
</exception><exception cref="T:System.ArgumentNullException">
The <paramref name="target"/> is null (Nothing in Visual Basic).
</exception><exception cref="T:System.InvalidOperationException">
The <paramref name="target"/> did not have the message reserved.
</exception><remarks>
<para>
Only <see cref="T:System.Threading.Tasks.Dataflow.ITargetBlock`1"/> instances linked to this <see cref="T:System.Threading.Tasks.Dataflow.ISourceBlock`1"/>
instance may use <see cref="M:ReleaseMessage"/>, and it must only be used
to release <see cref="T:System.Threading.Tasks.Dataflow.DataflowMessageHeader"/> instances previously
and successfully reserved by the target.
</para>
</remarks>
</member>
<member name="M:System.Threading.Tasks.Dataflow.Internal.SourceCore`1.TryReceive(System.Predicate{`0},`0@)">
<summary>
Attempts to synchronously receive an available output item from the <see cref="T:System.Threading.Tasks.Dataflow.ISourceBlock`1"/>.
</summary><param name="filter">
The predicate a value must successfully pass in order for it to be received.
<paramref name="filter"/> may be null (Nothing in Visual Basic), in which case all items will pass.
</param><param name="item">The item received from the source.</param><returns>true if an item could be received; otherwise, false.</returns><remarks>
This method does not block waiting for the source to provide an item.
It will return after checking for an element, whether or not an element was available.
</remarks>
</member>
<member name="M:System.Threading.Tasks.Dataflow.Internal.SourceCore`1.TryReceiveAll(System.Collections.Generic.IList{`0}@)">
<summary>
Attempts to synchronously receive all available items from the <see cref="T:System.Threading.Tasks.Dataflow.ISourceBlock`1"/>.
</summary><param name="items">The items received from the source.</param><returns>true if one or more items could be received; otherwise, false.</returns><remarks>
This method does not block waiting for the source to provide an item.
It will return after checking for elements, whether or not an element was available.
</remarks>
</member>
<member name="M:System.Threading.Tasks.Dataflow.Internal.SourceCore`1.AddMessage(`0)">
<summary>Adds a message to the source block for propagation.</summary>
<param name="item">The item to be wrapped in a message to be added.</param>
</member>
<member name="M:System.Threading.Tasks.Dataflow.Internal.SourceCore`1.AddMessages(System.Collections.Generic.IEnumerable{`0})">
<summary>Adds messages to the source block for propagation.</summary>
<param name="items">The list of items to be wrapped in messages to be added.</param>
</member>
<member name="M:System.Threading.Tasks.Dataflow.Internal.SourceCore`1.AddException(System.Exception)">
<summary>Adds an individual exceptionto this source.</summary>
<param name="exception">The exception to add</param>
</member>
<member name="M:System.Threading.Tasks.Dataflow.Internal.SourceCore`1.AddExceptions(System.Collections.Generic.List{System.Exception})">
<summary>Adds exceptions to this source.</summary>
<param name="exceptions">The exceptions to add</param>
</member>
<member name="M:System.Threading.Tasks.Dataflow.Internal.SourceCore`1.AddAndUnwrapAggregateException(System.AggregateException)">
<summary>Adds the exceptions contained in an AggregateException to this source.</summary>
<param name="aggregateException">The exception to add</param>
</member>
<member name="M:System.Threading.Tasks.Dataflow.Internal.SourceCore`1.Complete">
<summary>Informs the block that it will not be receiving additional messages.</summary>
</member>
<member name="M:System.Threading.Tasks.Dataflow.Internal.SourceCore`1.OfferToTargets(System.Threading.Tasks.Dataflow.ITargetBlock{`0})">
<summary>Offers messages to all targets.</summary>
<param name="linkToTarget">
The newly linked target, if OfferToTargets is being called to synchronously
propagate to a target during a LinkTo operation.
</param>
</member>
<member name="M:System.Threading.Tasks.Dataflow.Internal.SourceCore`1.OfferMessageToTarget(System.Threading.Tasks.Dataflow.DataflowMessageHeader,`0,System.Threading.Tasks.Dataflow.ITargetBlock{`0},System.Boolean@)">
<summary>Offers the message to the target.</summary>
<param name="header">The header of the message to offer.</param>
<param name="message">The message being offered.</param>
<param name="target">The single target to which the message should be offered.</param>
<param name="messageWasAccepted">true if the message was accepted by the target; otherwise, false.</param>
<returns>
true if the message should not be offered to additional targets;
false if propagation should be allowed to continue.
</returns>
</member>
<member name="M:System.Threading.Tasks.Dataflow.Internal.SourceCore`1.OfferAsyncIfNecessary(System.Boolean,System.Boolean)">
<summary>Called when we want to enable asynchronously offering message to targets.</summary>
<param name="isReplacementReplica">Whether this call is the continuation of a previous message loop.</param>
<param name="includeOutgoingOnlyChecks">Whether this call should include in "what's necessary" checks that require the outgoing lock.</param>
</member>
<member name="M:System.Threading.Tasks.Dataflow.Internal.SourceCore`1.OfferMessagesLoopWithExecutionContext">
<summary>Task body used to process messages under the right execution context.</summary>
</member>
<member name="M:System.Threading.Tasks.Dataflow.Internal.SourceCore`1.OfferMessagesLoopCore">
<summary>Task body used to process messages.</summary>
</member>
<member name="M:System.Threading.Tasks.Dataflow.Internal.SourceCore`1.CompleteBlockIfPossible">
<summary>Completes the block's processing if there's nothing left to do and never will be.</summary>
</member>
<member name="M:System.Threading.Tasks.Dataflow.Internal.SourceCore`1.CompleteBlockOncePossible">
<summary>
Completes the block. This must only be called once, and only once all of the completion conditions are met.
As such, it must only be called from CompleteBlockIfPossible.
</summary>
</member>
<member name="M:System.Threading.Tasks.Dataflow.Internal.SourceCore`1.GetDebuggingInformation">
<summary>Gets information about this helper to be used for display in a debugger.</summary>
<returns>Debugging information about this source core.</returns>
</member>
<member name="P:System.Threading.Tasks.Dataflow.Internal.SourceCore`1.OutgoingLock">
<summary>Gets the object to use as the outgoing lock.</summary>
</member>
<member name="P:System.Threading.Tasks.Dataflow.Internal.SourceCore`1.ValueLock">
<summary>Gets the object to use as the value lock.</summary>
</member>
<member name="P:System.Threading.Tasks.Dataflow.Internal.SourceCore`1.Completion">
<summary>
Gets a <see cref="T:System.Threading.Tasks.Task">Task</see> that represents the asynchronous operation and completion of the dataflow block.
</summary><remarks>
A dataflow block is considered completed when it is not currently processing a message and when it has guaranteed that it will not process
any more messages. The returned <see cref="T:System.Threading.Tasks.Task">Task</see> will transition to a completed state when the
associated block has completed. It will transition to the <see cref="T:System.Threading.Tasks.TaskStatus">RanToCompletion</see> state
when the block completes its processing successfully according to the dataflow block’s defined semantics, it will transition to
the <see cref="T:System.Threading.Tasks.TaskStatus">Faulted</see> state when the dataflow block has completed processing prematurely due to an unhandled exception,
and it will transition to the <see cref="T:System.Threading.Tasks.TaskStatus">Canceled</see> state when the dataflow block has completed processing
prematurely due to receiving a cancellation request. If the task completes in the Faulted state, its Exception property will return
an <see cref="T:System.AggregateException"/> containing the one or more exceptions that caused the block to fail.
</remarks>
</member>
<member name="P:System.Threading.Tasks.Dataflow.Internal.SourceCore`1.OutputCount">
<summary>Gets the number of items available to be received from this block.</summary>
</member>
<member name="P:System.Threading.Tasks.Dataflow.Internal.SourceCore`1.CapturedContext">
<summary>Gets the execution context captured for this source core.</summary>
</member>
<member name="P:System.Threading.Tasks.Dataflow.Internal.SourceCore`1.HasExceptions">
<summary>Gets whether the m_exceptions list is non-null.</summary>
</member>
<member name="P:System.Threading.Tasks.Dataflow.Internal.SourceCore`1.DataflowBlockOptions">
<summary>Gets the DataflowBlockOptions used to configure this block.</summary>
</member>
<member name="P:System.Threading.Tasks.Dataflow.Internal.SourceCore`1.CanceledOrFaulted">
<summary>Gets whether the source has had cancellation requested or an exception has occurred.</summary>
</member>
<member name="P:System.Threading.Tasks.Dataflow.Internal.SourceCore`1.DebuggerDisplayContent">
<summary>Gets the object to display in the debugger display attribute.</summary>
</member>
<member name="T:System.Threading.Tasks.Dataflow.Internal.SourceCore`1.DebuggingInformation">
<summary>Provides debugging information about the source core.</summary>
</member>
<member name="F:System.Threading.Tasks.Dataflow.Internal.SourceCore`1.DebuggingInformation.m_source">
<summary>The source being viewed.</summary>
</member>
<member name="M:System.Threading.Tasks.Dataflow.Internal.SourceCore`1.DebuggingInformation.#ctor(System.Threading.Tasks.Dataflow.Internal.SourceCore{`0})">
<summary>Initializes the type proxy.</summary>
<param name="source">The source being viewed.</param>
</member>
<member name="P:System.Threading.Tasks.Dataflow.Internal.SourceCore`1.DebuggingInformation.OutputCount">
<summary>Gets the number of messages available for receiving.</summary>
</member>
<member name="P:System.Threading.Tasks.Dataflow.Internal.SourceCore`1.DebuggingInformation.OutputQueue">
<summary>Gets the messages available for receiving.</summary>
</member>
<member name="P:System.Threading.Tasks.Dataflow.Internal.SourceCore`1.DebuggingInformation.TaskForOutputProcessing">
<summary>Gets the task being used for output processing.</summary>
</member>
<member name="P:System.Threading.Tasks.Dataflow.Internal.SourceCore`1.DebuggingInformation.DataflowBlockOptions">
<summary>Gets the DataflowBlockOptions used to configure this block.</summary>
</member>
<member name="P:System.Threading.Tasks.Dataflow.Internal.SourceCore`1.DebuggingInformation.IsDecliningPermanently">
<summary>Gets whether the block is declining further messages.</summary>
</member>
<member name="P:System.Threading.Tasks.Dataflow.Internal.SourceCore`1.DebuggingInformation.IsCompleted">
<summary>Gets whether the block is completed.</summary>
</member>
<member name="P:System.Threading.Tasks.Dataflow.Internal.SourceCore`1.DebuggingInformation.LinkedTargets">
<summary>Gets the set of all targets linked from this block.</summary>
</member>
<member name="P:System.Threading.Tasks.Dataflow.Internal.SourceCore`1.DebuggingInformation.NextMessageReservedFor">
<summary>Gets the target that holds a reservation on the next message, if any.</summary>
</member>
<member name="T:System.Threading.Tasks.Dataflow.Internal.ActionOnDispose">
<summary>An IDisposable that will run an Action delegate when disposed.</summary>
</member>
<member name="F:System.Threading.Tasks.Dataflow.Internal.ActionOnDispose.s_empty">
<summary>An IDisposable that does nothing.</summary>
</member>
<member name="F:System.Threading.Tasks.Dataflow.Internal.ActionOnDispose.m_disposeDelegate">
<summary>The action to run when disposed.</summary>
</member>
<member name="F:System.Threading.Tasks.Dataflow.Internal.ActionOnDispose.m_state">
<summary>Optional state to be passed to the dispose delegate.</summary>
</member>
<member name="M:System.Threading.Tasks.Dataflow.Internal.ActionOnDispose.#ctor(System.Action{System.Object},System.Object)">
<summary>Initializes the ActionOnDispose.</summary>
<param name="actionWithState">The action to run when disposed.</param>
<param name="state">State to pass to the action when it's invoked.</param>
</member>
<member name="M:System.Threading.Tasks.Dataflow.Internal.ActionOnDispose.System#IDisposable#Dispose">
<summary>Invoke the action.</summary>
</member>
<member name="P:System.Threading.Tasks.Dataflow.Internal.ActionOnDispose.Empty">
<summary>Gets an IDisposable that does nothing.</summary>
</member>
<member name="P:System.Threading.Tasks.Dataflow.Internal.ActionOnDispose.Disposed">
<summary>Gets whether the IDisposable has been disposed.</summary>
</member>
<member name="T:System.Threading.Tasks.Dataflow.TransformBlock`2">
<summary>Provides a dataflow block that invokes a provided <see cref="T:System.Func`2"/> delegate for every data element received.</summary>
<typeparam name="TInput">Specifies the type of data received and operated on by this <see cref="T:System.Threading.Tasks.Dataflow.TransformBlock`2"/>.</typeparam>
<typeparam name="TOutput">Specifies the type of data output by this <see cref="T:System.Threading.Tasks.Dataflow.TransformBlock`2"/>.</typeparam>
</member>
<member name="T:System.Threading.Tasks.Dataflow.IPropagatorBlock`2">
<summary>Represents a dataflow block that is both a target for data and a source of data.</summary>
<typeparam name="TInput">Specifies the type of data accepted by the <see cref="T:System.Threading.Tasks.Dataflow.IPropagatorBlock`2"/>.</typeparam>
<typeparam name="TOutput">Specifies the type of data supplied by the <see cref="T:System.Threading.Tasks.Dataflow.IPropagatorBlock`2"/>.</typeparam>
</member>
<member name="F:System.Threading.Tasks.Dataflow.TransformBlock`2.m_target">
<summary>The target side.</summary>
</member>
<member name="F:System.Threading.Tasks.Dataflow.TransformBlock`2.m_reorderingBuffer">
<summary>Buffer used to reorder outputs that may have completed out-of-order between the target half and the source half.</summary>
</member>
<member name="F:System.Threading.Tasks.Dataflow.TransformBlock`2.m_source">
<summary>The source side.</summary>
</member>
<member name="M:System.Threading.Tasks.Dataflow.TransformBlock`2.#ctor(System.Func{`0,`1})">
<summary>Initializes the <see cref="T:System.Threading.Tasks.Dataflow.TransformBlock`2"/> with the specified <see cref="T:System.Func`2"/>.</summary>
<param name="transform">The function to invoke with each data element received.</param>
<exception cref="T:System.ArgumentNullException">The <paramref name="transform"/> is null (Nothing in Visual Basic).</exception>
</member>
<member name="M:System.Threading.Tasks.Dataflow.TransformBlock`2.#ctor(System.Func{`0,`1},System.Threading.Tasks.Dataflow.ExecutionDataflowBlockOptions)">
<summary>
Initializes the <see cref="T:System.Threading.Tasks.Dataflow.TransformBlock`2"/> with the specified <see cref="T:System.Func`2"/> and
<see cref="T:System.Threading.Tasks.Dataflow.ExecutionDataflowBlockOptions"/>.
</summary>
<param name="transform">The function to invoke with each data element received.</param>
<param name="dataflowBlockOptions">The options with which to configure this <see cref="T:System.Threading.Tasks.Dataflow.TransformBlock`2"/>.</param>
<exception cref="T:System.ArgumentNullException">The <paramref name="transform"/> is null (Nothing in Visual Basic).</exception>
<exception cref="T:System.ArgumentNullException">The <paramref name="dataflowBlockOptions"/> is null (Nothing in Visual Basic).</exception>
</member>
<member name="M:System.Threading.Tasks.Dataflow.TransformBlock`2.#ctor(System.Func{`0,System.Threading.Tasks.Task{`1}})">
<summary>Initializes the <see cref="T:System.Threading.Tasks.Dataflow.TransformBlock`2"/> with the specified <see cref="T:System.Func`2"/>.</summary>
<param name="transform">The function to invoke with each data element received.</param>
<exception cref="T:System.ArgumentNullException">The <paramref name="transform"/> is null (Nothing in Visual Basic).</exception>
</member>
<member name="M:System.Threading.Tasks.Dataflow.TransformBlock`2.#ctor(System.Func{`0,System.Threading.Tasks.Task{`1}},System.Threading.Tasks.Dataflow.ExecutionDataflowBlockOptions)">
<summary>
Initializes the <see cref="T:System.Threading.Tasks.Dataflow.TransformBlock`2"/> with the specified <see cref="T:System.Func`2"/>
and <see cref="T:System.Threading.Tasks.Dataflow.ExecutionDataflowBlockOptions"/>.
</summary>
<param name="transform">The function to invoke with each data element received.</param>
<param name="dataflowBlockOptions">The options with which to configure this <see cref="T:System.Threading.Tasks.Dataflow.TransformBlock`2"/>.</param>
<exception cref="T:System.ArgumentNullException">The <paramref name="transform"/> is null (Nothing in Visual Basic).</exception>
<exception cref="T:System.ArgumentNullException">The <paramref name="dataflowBlockOptions"/> is null (Nothing in Visual Basic).</exception>
</member>
<member name="M:System.Threading.Tasks.Dataflow.TransformBlock`2.#ctor(System.Delegate,System.Threading.Tasks.Dataflow.ExecutionDataflowBlockOptions)">
<summary>
Initializes the <see cref="T:System.Threading.Tasks.Dataflow.TransformBlock`2"/> with the specified <see cref="T:System.Func`2"/>
and <see cref="T:System.Threading.Tasks.Dataflow.DataflowBlockOptions"/>.
</summary>
<param name="transform">The function to invoke with each data element received.</param>
<param name="dataflowBlockOptions">The options with which to configure this <see cref="T:System.Threading.Tasks.Dataflow.TransformBlock`2"/>.</param>
<exception cref="T:System.ArgumentNullException">The <paramref name="transform"/> is null (Nothing in Visual Basic).</exception>
<exception cref="T:System.ArgumentNullException">The <paramref name="dataflowBlockOptions"/> is null (Nothing in Visual Basic).</exception>
</member>
<member name="M:System.Threading.Tasks.Dataflow.TransformBlock`2.ProcessMessage(System.Func{`0,`1},System.Collections.Generic.KeyValuePair{`0,System.Int64})">
<summary>Processes the message with a user-provided transform function that returns a TOutput.</summary>
<param name="transform">The transform function to use to process the message.</param>
<param name="messageWithId">The message to be processed.</param>
</member>
<member name="M:System.Threading.Tasks.Dataflow.TransformBlock`2.ProcessMessageWithTask(System.Func{`0,System.Threading.Tasks.Task{`1}},System.Collections.Generic.KeyValuePair{`0,System.Int64})">
<summary>Processes the message with a user-provided transform function that returns a task of TOutput.</summary>
<param name="transform">The transform function to use to process the message.</param>
<param name="messageWithId">The message to be processed.</param>
</member>
<member name="M:System.Threading.Tasks.Dataflow.TransformBlock`2.AsyncCompleteProcessMessageWithTask(System.Threading.Tasks.Task{`1},System.Collections.Generic.KeyValuePair{`0,System.Int64})">
<summary>Completes the processing of an asynchronous message.</summary>
<param name="completed">The completed task storing the output data generated for an input message.</param>
<param name="messageWithId">The originating message</param>
</member>
<member name="M:System.Threading.Tasks.Dataflow.TransformBlock`2.Complete">
<summary>
Signals to the <see cref="T:System.Threading.Tasks.Dataflow.IDataflowBlock"/> that it should not accept
nor produce any more messages nor consume any more postponed messages.
</summary><remarks>
After Complete has been called on a dataflow block, that block will complete
(such that its <see cref="M:Completion"/> task will enter a final state) after it's processed all previously
available data. Complete will not block waiting for completion to occur, but rather will initiaite
the request; to wait for completion to occur, the <see cref="M:Completion"/> task may be used.
</remarks>
</member>
<member name="M:System.Threading.Tasks.Dataflow.TransformBlock`2.System#Threading#Tasks#Dataflow#IDataflowBlock#Fault(System.Exception)">
<summary>
Causes the <see cref="T:System.Threading.Tasks.Dataflow.IDataflowBlock"/> to complete in a
<see cref="F:System.Threading.Tasks.TaskStatus.Faulted"/> state.
</summary><param name="exception">The <see cref="T:System.Exception"/> that caused the faulting.</param><exception cref="T:System.ArgumentNullException">
The <paramref name="exception"/> is null (Nothing in Visual Basic).
</exception><remarks>
After Fault has been called on a dataflow block, that block will complete
(such that its <see cref="M:Completion"/> task will enter a final state). Faulting a block causes
buffered messages (uprocessed input messages as well as unoffered output messages) to be lost.
</remarks>
</member>
<member name="M:System.Threading.Tasks.Dataflow.TransformBlock`2.LinkTo(System.Threading.Tasks.Dataflow.ITargetBlock{`1},System.Boolean)">
<summary>
Links the <see cref="T:System.Threading.Tasks.Dataflow.ISourceBlock`1"/> to the specified <see cref="T:System.Threading.Tasks.Dataflow.ITargetBlock`1"/>.
</summary><param name="target">
The <see cref="T:System.Threading.Tasks.Dataflow.ITargetBlock`1"/> to which to connect this source.
</param><param name="unlinkAfterOne">
true if the source should unlink from the target after successfully propagating a single message;
otherwise, false to remain connected even after a single message has been propagated.
</param><returns>An IDisposable that, upon calling Dispose, will unlink the source from the target.</returns><exception cref="T:System.ArgumentNullException">
The <paramref name="target"/> is null (Nothing in Visual Basic).
</exception>
</member>
<member name="M:System.Threading.Tasks.Dataflow.TransformBlock`2.TryReceive(System.Predicate{`1},`1@)">
<summary>
Attempts to synchronously receive an available output item from the <see cref="T:System.Threading.Tasks.Dataflow.ISourceBlock`1"/>.
</summary><param name="filter">
The predicate a value must successfully pass in order for it to be received.
<paramref name="filter"/> may be null (Nothing in Visual Basic), in which case all items will pass.
</param><param name="item">The item received from the source.</param><returns>true if an item could be received; otherwise, false.</returns><remarks>
This method does not block waiting for the source to provide an item.
It will return after checking for an element, whether or not an element was available.
</remarks>
</member>
<member name="M:System.Threading.Tasks.Dataflow.TransformBlock`2.TryReceiveAll(System.Collections.Generic.IList{`1}@)">
<summary>
Attempts to synchronously receive all available items from the <see cref="T:System.Threading.Tasks.Dataflow.ISourceBlock`1"/>.
</summary><param name="items">The items received from the source.</param><returns>true if one or more items could be received; otherwise, false.</returns><remarks>
This method does not block waiting for the source to provide an item.
It will return after checking for elements, whether or not an element was available.
</remarks>
</member>
<member name="M:System.Threading.Tasks.Dataflow.TransformBlock`2.System#Threading#Tasks#Dataflow#ITargetBlock{TInput}#OfferMessage(System.Threading.Tasks.Dataflow.DataflowMessageHeader,`0,System.Threading.Tasks.Dataflow.ISourceBlock{`0},System.Boolean)">
<summary>
Offers a message to the <see cref="T:System.Threading.Tasks.Dataflow.ITargetBlock`1"/>, giving the target the opportunity to consume or postpone the message.
</summary><param name="messageHeader">
A <see cref="T:System.Threading.Tasks.Dataflow.DataflowMessageHeader"/> instance that represents the header of the message being offered.
</param><param name="messageValue">
The value of the message being offered.
</param><param name="source">
The <see cref="T:System.Threading.Tasks.Dataflow.ISourceBlock`1"/> offering the message. This may be null (Nothing in Visual Basic).
</param><param name="consumeToAccept">
true if the target must call ConsumeMessage synchronously during the call to OfferMessage, prior to returning
<see cref="F:System.Threading.Tasks.Dataflow.DataflowMessageStatus.Accepted"/>, in order to consume the message.
false if the target wanting to accept the message should not call ConsumeMessage, and should isntead simply return DataflowMessageStatus.Accepted.
</param><returns>
The status of the offered message. If the message was accepted by the target, <see cref="F:System.Threading.Tasks.Dataflow.DataflowMessageStatus.Accepted"/> is returned, and the source should
no longer use the offered message, as it is now owned by the target. If the message was postponed by the target, <see cref="F:System.Threading.Tasks.Dataflow.DataflowMessageStatus.Postponed"/> is returned
as a notification that the target may later attempt to consume or reserve the message; in the meantime, the source still owns the message and may offer it to other blocks.
If the target would have otherwise postponed but source was null, <see cref="F:System.Threading.Tasks.Dataflow.DataflowMessageStatus.Declined"/> is instead returned.
If the target tried to accept the message but missed it due to the source delivering the message to another target or simply discarding it,
<see cref="F:System.Threading.Tasks.Dataflow.DataflowMessageStatus.NotAvailable"/> is returned.
If the target chose not to accept the message, <see cref="F:System.Threading.Tasks.Dataflow.DataflowMessageStatus.Declined"/> is returned. If the target
chose not to accept the message and will never accept another message from this source, <see cref="F:System.Threading.Tasks.Dataflow.DataflowMessageStatus.DecliningPermanently"/> is returned.
</returns><exception cref="T:System.ArgumentException">
The <paramref name="messageHeader"/> is not valid.
</exception><exception cref="T:System.ArgumentException">
<paramref name="consumeToAccept"/> may only be true if provided with a non-null <paramref name="source"/>.
</exception>
</member>
<member name="M:System.Threading.Tasks.Dataflow.TransformBlock`2.System#Threading#Tasks#Dataflow#ISourceBlock{TOutput}#ConsumeMessage(System.Threading.Tasks.Dataflow.DataflowMessageHeader,System.Threading.Tasks.Dataflow.ITargetBlock{`1},System.Boolean@)">
<summary>
Called by a linked <see cref="T:System.Threading.Tasks.Dataflow.ITargetBlock`1"/> to accept and consume a
<see cref="T:System.Threading.Tasks.Dataflow.DataflowMessageHeader"/> previously offered by this <see cref="T:System.Threading.Tasks.Dataflow.ISourceBlock`1"/>.
</summary><param name="messageHeader">The <see cref="T:System.Threading.Tasks.Dataflow.DataflowMessageHeader"/> of the message being consumed.</param><param name="target">
The <see cref="T:System.Threading.Tasks.Dataflow.ITargetBlock`1"/> consuming the message.
</param><param name="messageConsumed">
True if the message was successfully consumed. False otherwise.
</param><returns>
<para>
The value of the consumed message. This may correspond to a different <see cref="T:System.Threading.Tasks.Dataflow.DataflowMessageHeader"/> instance than was previously reserved and
passed as the <paramref name="messageHeader"/> to <see cref="M:ConsumeMessage"/>. The consuming <see cref="T:System.Threading.Tasks.Dataflow.ITargetBlock`1"/> must
use the returned value instead of the value passed as messageValue through <see cref="M:OfferMessage"/>.
</para>
<para>
If the message requested is not available, the return value will be null (Nothing in Visual Basic).
</para>
</returns><exception cref="T:System.ArgumentException">
The <paramref name="messageHeader"/> is not valid.
</exception><exception cref="T:System.ArgumentNullException">
The <paramref name="target"/> is null (Nothing in Visual Basic).
</exception><remarks>
<para>
Only <see cref="T:System.Threading.Tasks.Dataflow.ITargetBlock`1"/> instances linked to this <see cref="T:System.Threading.Tasks.Dataflow.ISourceBlock`1"/>
instance may use <see cref="M:ConsumeMessage"/>, and it must only be used
to reserve <see cref="T:System.Threading.Tasks.Dataflow.DataflowMessageHeader"/> instances previously
offered by this source to the target.
</para>
</remarks>
</member>
<member name="M:System.Threading.Tasks.Dataflow.TransformBlock`2.System#Threading#Tasks#Dataflow#ISourceBlock{TOutput}#ReserveMessage(System.Threading.Tasks.Dataflow.DataflowMessageHeader,System.Threading.Tasks.Dataflow.ITargetBlock{`1})">
<summary>
Called by a linked <see cref="T:System.Threading.Tasks.Dataflow.ITargetBlock`1"/> to reserve a previously offered <see cref="T:System.Threading.Tasks.Dataflow.DataflowMessageHeader"/>
by this <see cref="T:System.Threading.Tasks.Dataflow.ISourceBlock`1"/>.
</summary><param name="messageHeader">
The <see cref="T:System.Threading.Tasks.Dataflow.DataflowMessageHeader"/> of the message being reserved.
</param><param name="target">
The <see cref="T:System.Threading.Tasks.Dataflow.ITargetBlock`1"/> reserving the message.
</param><returns>true if the message was successfully reserved; otherwise, false.</returns><exception cref="T:System.ArgumentException">
The <paramref name="messageHeader"/> is not valid.
</exception><exception cref="T:System.ArgumentNullException">
The <paramref name="target"/> is null (Nothing in Visual Basic).
</exception><remarks>
<para>
Only <see cref="T:System.Threading.Tasks.Dataflow.ITargetBlock`1"/> instances linked to this <see cref="T:System.Threading.Tasks.Dataflow.ISourceBlock`1"/> instance
may use <see cref="M:ReserveMessage"/>, and it must only be used
to reserve <see cref="T:System.Threading.Tasks.Dataflow.DataflowMessageHeader"/> instances previously
offered by this source to the target.
</para>
<para>
If true is returned, the <see cref="T:System.Threading.Tasks.Dataflow.ITargetBlock`1"/> must subsequently call either <see cref="M:ConsumeMessage"/> or <see cref="M:ReserveMessage"/> for this message.
Failure to do so may result in the source being unable to propagate any further messages to this or other targets.
</para>
<para>
<see cref="M:ReserveMessage"/> must not be called while the target is holding any internal locks. Doing so will violate the lock hierarchy
necessary to avoid deadlocks in a dataflow network.
</para>
</remarks>
</member>
<member name="M:System.Threading.Tasks.Dataflow.TransformBlock`2.System#Threading#Tasks#Dataflow#ISourceBlock{TOutput}#ReleaseReservation(System.Threading.Tasks.Dataflow.DataflowMessageHeader,System.Threading.Tasks.Dataflow.ITargetBlock{`1})">
<summary>
Called by a linked <see cref="T:System.Threading.Tasks.Dataflow.ITargetBlock`1"/> to release a previously reserved
<see cref="T:System.Threading.Tasks.Dataflow.DataflowMessageHeader"/> by this <see cref="T:System.Threading.Tasks.Dataflow.ISourceBlock`1"/>.
</summary><param name="messageHeader">
The <see cref="T:System.Threading.Tasks.Dataflow.DataflowMessageHeader"/> of the reserved message being released.
</param><param name="target">
The <see cref="T:System.Threading.Tasks.Dataflow.ITargetBlock`1"/> releasing the message it previously reserved.
</param><exception cref="T:System.ArgumentException">
The <paramref name="messageHeader"/> is not valid.
</exception><exception cref="T:System.ArgumentNullException">
The <paramref name="target"/> is null (Nothing in Visual Basic).
</exception><exception cref="T:System.InvalidOperationException">
The <paramref name="target"/> did not have the message reserved.
</exception><remarks>
<para>
Only <see cref="T:System.Threading.Tasks.Dataflow.ITargetBlock`1"/> instances linked to this <see cref="T:System.Threading.Tasks.Dataflow.ISourceBlock`1"/>
instance may use <see cref="M:ReleaseMessage"/>, and it must only be used
to release <see cref="T:System.Threading.Tasks.Dataflow.DataflowMessageHeader"/> instances previously
and successfully reserved by the target.
</para>
</remarks>
</member>
<member name="P:System.Threading.Tasks.Dataflow.TransformBlock`2.Completion">
<summary>
Gets a <see cref="T:System.Threading.Tasks.Task">Task</see> that represents the asynchronous operation and completion of the dataflow block.
</summary><remarks>
A dataflow block is considered completed when it is not currently processing a message and when it has guaranteed that it will not process
any more messages. The returned <see cref="T:System.Threading.Tasks.Task">Task</see> will transition to a completed state when the
associated block has completed. It will transition to the <see cref="T:System.Threading.Tasks.TaskStatus">RanToCompletion</see> state
when the block completes its processing successfully according to the dataflow block’s defined semantics, it will transition to
the <see cref="T:System.Threading.Tasks.TaskStatus">Faulted</see> state when the dataflow block has completed processing prematurely due to an unhandled exception,
and it will transition to the <see cref="T:System.Threading.Tasks.TaskStatus">Canceled</see> state when the dataflow block has completed processing
prematurely due to receiving a cancellation request. If the task completes in the Faulted state, its Exception property will return
an <see cref="T:System.AggregateException"/> containing the one or more exceptions that caused the block to fail.
</remarks>
</member>
<member name="P:System.Threading.Tasks.Dataflow.TransformBlock`2.InputCount">
<summary>
Gets the number of input items waiting to be processed by this block.
</summary><remarks>
The InputCount does not include any items currently being processed by the block or any items that
have already been processed by the block.
</remarks>
</member>
<member name="P:System.Threading.Tasks.Dataflow.TransformBlock`2.OutputCount">
<summary>
Gets the number of output items available to be received from this block.
</summary>
</member>
<member name="P:System.Threading.Tasks.Dataflow.TransformBlock`2.InputCountForDebugger">
<summary>Gets the number of messages waiting to be processed. This must only be used from the debugger as it avoids taking necessary locks.</summary>
</member>
<member name="P:System.Threading.Tasks.Dataflow.TransformBlock`2.OutputCountForDebugger">
<summary>Gets the number of messages waiting to be processed. This must only be used from the debugger as it avoids taking necessary locks.</summary>
</member>
<member name="P:System.Threading.Tasks.Dataflow.TransformBlock`2.DebuggerDisplayContent">
<summary>The data to display in the debugger display attribute.</summary>
</member>
<member name="P:System.Threading.Tasks.Dataflow.TransformBlock`2.System#Threading#Tasks#Dataflow#Internal#IDebuggerDisplay#Content">
<summary>Gets the data to display in the debugger display attribute for this instance.</summary>
</member>
<member name="T:System.Threading.Tasks.Dataflow.TransformBlock`2.DebugView">
<summary>Provides a debugger type proxy for the TransformBlock.</summary>
</member>
<member name="F:System.Threading.Tasks.Dataflow.TransformBlock`2.DebugView.m_transformBlock">
<summary>The transform being viewed.</summary>
</member>
<member name="F:System.Threading.Tasks.Dataflow.TransformBlock`2.DebugView.m_targetDebuggingInformation">
<summary>The target half of the block being viewed.</summary>
</member>
<member name="F:System.Threading.Tasks.Dataflow.TransformBlock`2.DebugView.m_sourceDebuggingInformation">
<summary>The source half of the block being viewed.</summary>
</member>
<member name="M:System.Threading.Tasks.Dataflow.TransformBlock`2.DebugView.#ctor(System.Threading.Tasks.Dataflow.TransformBlock{`0,`1})">
<summary>Initializes the debug view.</summary>
<param name="transformBlock">The transform being viewed.</param>
</member>
<member name="P:System.Threading.Tasks.Dataflow.TransformBlock`2.DebugView.InputQueue">
<summary>Gets the messages waiting to be processed.</summary>
</member>
<member name="P:System.Threading.Tasks.Dataflow.TransformBlock`2.DebugView.PostponedMessages">
<summary>Gets any postponed messages.</summary>
</member>
<member name="P:System.Threading.Tasks.Dataflow.TransformBlock`2.DebugView.OutputQueue">
<summary>Gets the messages waiting to be received.</summary>
</member>
<member name="P:System.Threading.Tasks.Dataflow.TransformBlock`2.DebugView.CurrentDegreeOfParallelism">
<summary>Gets the number of oustanding input operations.</summary>
</member>
<member name="P:System.Threading.Tasks.Dataflow.TransformBlock`2.DebugView.TaskForOutputProcessing">
<summary>Gets the task being used for output processing.</summary>
</member>
<member name="P:System.Threading.Tasks.Dataflow.TransformBlock`2.DebugView.DataflowBlockOptions">
<summary>Gets the DataflowBlockOptions used to configure this block.</summary>
</member>
<member name="P:System.Threading.Tasks.Dataflow.TransformBlock`2.DebugView.IsDecliningPermanently">
<summary>Gets whether the block is declining further messages.</summary>
</member>
<member name="P:System.Threading.Tasks.Dataflow.TransformBlock`2.DebugView.IsCompleted">
<summary>Gets whether the block is completed.</summary>
</member>
<member name="P:System.Threading.Tasks.Dataflow.TransformBlock`2.DebugView.Id">
<summary>Gets the block's Id.</summary>
</member>
<member name="P:System.Threading.Tasks.Dataflow.TransformBlock`2.DebugView.LinkedTargets">
<summary>Gets the set of all targets linked from this block.</summary>
</member>
<member name="P:System.Threading.Tasks.Dataflow.TransformBlock`2.DebugView.NextMessageReservedFor">
<summary>Gets the target that holds a reservation on the next message, if any.</summary>
</member>
<member name="T:System.Threading.Tasks.Dataflow.Internal.TargetCoreOptions">
<summary>Options used to configure a target core.</summary>
</member>
<member name="F:System.Threading.Tasks.Dataflow.Internal.TargetCoreOptions.None">
<summary>Synchronous completion, both a target and a source, etc.</summary>
</member>
<member name="F:System.Threading.Tasks.Dataflow.Internal.TargetCoreOptions.UsesAsyncCompletion">
<summary>Whether the block relies on the delegate to signal when an async operation has completed.</summary>
</member>
<member name="F:System.Threading.Tasks.Dataflow.Internal.TargetCoreOptions.RepresentsBlockCompletion">
<summary>
Whether the block containing this target core is just a target or also has a source side.
If it's just a target, then this target core's completion represents the entire block's completion.
</summary>
</member>
<member name="T:System.Threading.Tasks.Dataflow.Internal.TargetCore`1">
<summary>
Provides a core implementation of <see cref="T:System.Threading.Tasks.Dataflow.ITargetBlock`1"/>.</summary>
<typeparam name="TInput">Specifies the type of data accepted by the <see cref="T:System.Threading.Tasks.Dataflow.Internal.TargetCore`1"/>.</typeparam>
</member>
<member name="F:System.Threading.Tasks.Dataflow.Internal.TargetCore`1.m_messages">
<summary>The messages in this target.</summary>
<remarks>This field doubles as the IncomingLock.</remarks>
</member>
<member name="F:System.Threading.Tasks.Dataflow.Internal.TargetCore`1.m_executionContext">
<summary>The context captured when the block was instantiated.</summary>
</member>
<member name="F:System.Threading.Tasks.Dataflow.Internal.TargetCore`1.m_completionSource">
<summary>A task representing the completion of the block.</summary>
</member>
<member name="F:System.Threading.Tasks.Dataflow.Internal.TargetCore`1.m_owningTarget">
<summary>The target block using this helper.</summary>
</member>
<member name="F:System.Threading.Tasks.Dataflow.Internal.TargetCore`1.m_dataflowBlockOptions">
<summary>The options associated with this block.</summary>
</member>
<member name="F:System.Threading.Tasks.Dataflow.Internal.TargetCore`1.m_callAction">
<summary>An action to invoke for every accepted message.</summary>
</member>
<member name="F:System.Threading.Tasks.Dataflow.Internal.TargetCore`1.m_targetCoreOptions">
<summary>Whether the block relies on the delegate to signal when an async operation has completed.</summary>
</member>
<member name="F:System.Threading.Tasks.Dataflow.Internal.TargetCore`1.m_boundingState">
<summary>Bounding state for when the block is executing in bounded mode.</summary>
</member>
<member name="F:System.Threading.Tasks.Dataflow.Internal.TargetCore`1.m_reorderingBuffer">
<summary>The reordering buffer used by the owner. May be null.</summary>
</member>
<member name="F:System.Threading.Tasks.Dataflow.Internal.TargetCore`1.m_exceptions">
<summary>Exceptions that may have occured and gone unhandled during processing.</summary>
</member>
<member name="F:System.Threading.Tasks.Dataflow.Internal.TargetCore`1.m_decliningPermanently">
<summary>Whether to stop accepting new messages.</summary>
</member>
<member name="F:System.Threading.Tasks.Dataflow.Internal.TargetCore`1.m_numberOfOutstandingOperations">
<summary>The number of operations (including service tasks) currently running asynchronously.</summary>
<remarks>Must always be accessed from inside a lock.</remarks>
</member>
<member name="F:System.Threading.Tasks.Dataflow.Internal.TargetCore`1.m_numberOfOutstandingServiceTasks">
<summary>The number of service tasks in async mode currently running.</summary>
<remarks>Must always be accessed from inside a lock.</remarks>
</member>
<member name="F:System.Threading.Tasks.Dataflow.Internal.TargetCore`1.m_nextAvailableInputMessageId">
<summary>The next available ID we can assign to a message about to be processed.</summary>
</member>
<member name="F:System.Threading.Tasks.Dataflow.Internal.TargetCore`1.m_completionReserved">
<summary>A task has reserved the right to run the completion routine.</summary>
</member>
<member name="M:System.Threading.Tasks.Dataflow.Internal.TargetCore`1.#ctor(System.Threading.Tasks.Dataflow.ITargetBlock{`0},System.Action{System.Collections.Generic.KeyValuePair{`0,System.Int64}},System.Threading.Tasks.Dataflow.Internal.IReorderingBuffer,System.Threading.Tasks.Dataflow.ExecutionDataflowBlockOptions,System.Threading.Tasks.Dataflow.Internal.TargetCoreOptions)">
<summary>Initializes the target core.</summary>
<param name="owningTarget">The target using this helper.</param>
<param name="callAction">An action to invoke for all accepted items.</param>
<param name="reorderingBuffer">The reordering buffer used by the owner; may be null.</param>
<param name="dataflowBlockOptions">The options to use to configure this block. The target core assumes these options are immutable.</param>
<param name="targetCoreOptions">Options for how the target core should behave.</param>
</member>
<member name="M:System.Threading.Tasks.Dataflow.Internal.TargetCore`1.Complete(System.Exception,System.Boolean,System.Boolean,System.Boolean)">
<summary>Internal Complete entry point with extra parameters for different contexts.</summary>
<param name="exception">If not null, the block will be faulted.</param>
<param name="dropPendingMessages">If true, any unprocessed input messages will be dropped.</param>
<param name="storeExceptionEvenIfAlreadyCompleting">If true, an exception will be stored after m_decliningPermanently has been set to true.</param>
<param name="unwrapInnerExceptions">If true, exception will be treated as an AggregateException.</param>
</member>
<member name="M:System.Threading.Tasks.Dataflow.Internal.TargetCore`1.OfferMessage(System.Threading.Tasks.Dataflow.DataflowMessageHeader,`0,System.Threading.Tasks.Dataflow.ISourceBlock{`0},System.Boolean)">
<summary>
Offers a message to the <see cref="T:System.Threading.Tasks.Dataflow.ITargetBlock`1"/>, giving the target the opportunity to consume or postpone the message.
</summary><param name="messageHeader">
A <see cref="T:System.Threading.Tasks.Dataflow.DataflowMessageHeader"/> instance that represents the header of the message being offered.
</param><param name="messageValue">
The value of the message being offered.
</param><param name="source">
The <see cref="T:System.Threading.Tasks.Dataflow.ISourceBlock`1"/> offering the message. This may be null (Nothing in Visual Basic).
</param><param name="consumeToAccept">
true if the target must call ConsumeMessage synchronously during the call to OfferMessage, prior to returning
<see cref="F:System.Threading.Tasks.Dataflow.DataflowMessageStatus.Accepted"/>, in order to consume the message.
false if the target wanting to accept the message should not call ConsumeMessage, and should isntead simply return DataflowMessageStatus.Accepted.
</param><returns>
The status of the offered message. If the message was accepted by the target, <see cref="F:System.Threading.Tasks.Dataflow.DataflowMessageStatus.Accepted"/> is returned, and the source should
no longer use the offered message, as it is now owned by the target. If the message was postponed by the target, <see cref="F:System.Threading.Tasks.Dataflow.DataflowMessageStatus.Postponed"/> is returned
as a notification that the target may later attempt to consume or reserve the message; in the meantime, the source still owns the message and may offer it to other blocks.
If the target would have otherwise postponed but source was null, <see cref="F:System.Threading.Tasks.Dataflow.DataflowMessageStatus.Declined"/> is instead returned.
If the target tried to accept the message but missed it due to the source delivering the message to another target or simply discarding it,
<see cref="F:System.Threading.Tasks.Dataflow.DataflowMessageStatus.NotAvailable"/> is returned.
If the target chose not to accept the message, <see cref="F:System.Threading.Tasks.Dataflow.DataflowMessageStatus.Declined"/> is returned. If the target
chose not to accept the message and will never accept another message from this source, <see cref="F:System.Threading.Tasks.Dataflow.DataflowMessageStatus.DecliningPermanently"/> is returned.
</returns><exception cref="T:System.ArgumentException">
The <paramref name="messageHeader"/> is not valid.
</exception><exception cref="T:System.ArgumentException">
<paramref name="consumeToAccept"/> may only be true if provided with a non-null <paramref name="source"/>.
</exception>
</member>
<member name="M:System.Threading.Tasks.Dataflow.Internal.TargetCore`1.SignalOneAsyncMessageCompleted">
<summary>Signals to the target core that a previously launched asynchronous operation has now completed.</summary>
</member>
<member name="M:System.Threading.Tasks.Dataflow.Internal.TargetCore`1.SignalOneAsyncMessageCompleted(System.Int32)">
<summary>Signals to the target core that a previously launched asynchronous operation has now completed.</summary>
<param name="boundingCountChange">The number of elements by which to change the bounding count, if bounding is occurring.</param>
</member>
<member name="M:System.Threading.Tasks.Dataflow.Internal.TargetCore`1.ProcessAsyncIfNecessary(System.Boolean)">
<summary>Called when new messages are available to be processed.</summary>
<param name="repeat">Whether this call is the continuation of a previous message loop.</param>
</member>
<member name="M:System.Threading.Tasks.Dataflow.Internal.TargetCore`1.ProcessMessagesLoopWithExecutionContext">
<summary>Task body used to process messages under the right execution context.</summary>
</member>
<member name="M:System.Threading.Tasks.Dataflow.Internal.TargetCore`1.ProcessMessageLoopCore">
<summary>Task body used to process messages.</summary>
</member>
<member name="M:System.Threading.Tasks.Dataflow.Internal.TargetCore`1.TryGetNextMessageForNewAsyncOperation(System.Collections.Generic.KeyValuePair{`0,System.Int64}@)">
<summary>Retrieves the next message from the input queue for the useAsyncCompletion mode.</summary>
<param name="messageWithId">The next message retrieved.</param>
<returns>true if a message was found and removed; otherwise, false.</returns>
</member>
<member name="M:System.Threading.Tasks.Dataflow.Internal.TargetCore`1.TryGetNextAvailableOrPostponedMessage(System.Collections.Generic.KeyValuePair{`0,System.Int64}@)">
<summary>
Either takes the next available message from the input queue or retrieves a postponed
message from a source, based on whether we're in greedy or non-greedy mode.
</summary>
<param name="messageWithId">The retrieved item with its Id.</param>
<returns>true if a message could be removed and returned; otherwise, false.</returns>
</member>
<member name="M:System.Threading.Tasks.Dataflow.Internal.TargetCore`1.TryConsumePostponedMessage(System.Collections.Generic.KeyValuePair{`0,System.Int64}@)">
<summary>Consumes a single postponed message.</summary>
<returns>true if a message was consumed; otherwise, false.</returns>
</member>
<member name="M:System.Threading.Tasks.Dataflow.Internal.TargetCore`1.CompleteBlockIfPossible">
<summary>Completes the block once all completion conditions are met.</summary>
</member>
<member name="M:System.Threading.Tasks.Dataflow.Internal.TargetCore`1.CompleteBlockOncePossible">
<summary>
Completes the block. This must only be called once, and only once all of the completion conditions are met.
As such, it must only be called from CompleteBlockIfPossible.
</summary>
</member>
<member name="M:System.Threading.Tasks.Dataflow.Internal.TargetCore`1.ChangeBoundingCount(System.Int32)">
<summary>Increases or decreases the bounding count.</summary>
<param name="count">The incremental addition (positive to increase, negative to decrease).</param>
</member>
<member name="M:System.Threading.Tasks.Dataflow.Internal.TargetCore`1.GetDebuggingInformation">
<summary>Gets information about this helper to be used for display in a debugger.</summary>
<returns>Debugging information about this target.</returns>
</member>
<member name="P:System.Threading.Tasks.Dataflow.Internal.TargetCore`1.IncomingLock">
<summary>Gets the object used as the incoming lock.</summary>
</member>
<member name="P:System.Threading.Tasks.Dataflow.Internal.TargetCore`1.Completion">
<summary>
Gets a <see cref="T:System.Threading.Tasks.Task">Task</see> that represents the asynchronous operation and completion of the dataflow block.
</summary><remarks>
A dataflow block is considered completed when it is not currently processing a message and when it has guaranteed that it will not process
any more messages. The returned <see cref="T:System.Threading.Tasks.Task">Task</see> will transition to a completed state when the
associated block has completed. It will transition to the <see cref="T:System.Threading.Tasks.TaskStatus">RanToCompletion</see> state
when the block completes its processing successfully according to the dataflow block’s defined semantics, it will transition to
the <see cref="T:System.Threading.Tasks.TaskStatus">Faulted</see> state when the dataflow block has completed processing prematurely due to an unhandled exception,
and it will transition to the <see cref="T:System.Threading.Tasks.TaskStatus">Canceled</see> state when the dataflow block has completed processing
prematurely due to receiving a cancellation request. If the task completes in the Faulted state, its Exception property will return
an <see cref="T:System.AggregateException"/> containing the one or more exceptions that caused the block to fail.
</remarks>
</member>
<member name="P:System.Threading.Tasks.Dataflow.Internal.TargetCore`1.InputCount">
<summary>Gets the number of items waiting to be processed by this target.</summary>
</member>
<member name="P:System.Threading.Tasks.Dataflow.Internal.TargetCore`1.UsesAsyncCompletion">
<summary>Gets whether this instance has been cosntructed for async processing.</summary>
</member>
<member name="P:System.Threading.Tasks.Dataflow.Internal.TargetCore`1.HasRoomForMoreOperations">
<summary>Gets whether there's room to launch more processing operations.</summary>
</member>
<member name="P:System.Threading.Tasks.Dataflow.Internal.TargetCore`1.HasRoomForMoreServiceTasks">
<summary>Gets whether there's room to launch more service tasks for doing/launching processing operations.</summary>
</member>
<member name="P:System.Threading.Tasks.Dataflow.Internal.TargetCore`1.CanceledOrFaulted">
<summary>Gets whether the target has had cancellation requested or an exception has occurred.</summary>
</member>
<member name="P:System.Threading.Tasks.Dataflow.Internal.TargetCore`1.IsBounded">
<summary>Gets whether the target core is operating in a bounded mode.</summary>
</member>
<member name="P:System.Threading.Tasks.Dataflow.Internal.TargetCore`1.DebuggerDisplayContent">
<summary>Gets the object to display in the debugger display attribute.</summary>
</member>
<member name="T:System.Threading.Tasks.Dataflow.Internal.TargetCore`1.DebuggingInformation">
<summary>Provides a wrapper for commonly needed debugging information.</summary>
</member>
<member name="F:System.Threading.Tasks.Dataflow.Internal.TargetCore`1.DebuggingInformation.m_target">
<summary>The target being viewed.</summary>
</member>
<member name="M:System.Threading.Tasks.Dataflow.Internal.TargetCore`1.DebuggingInformation.#ctor(System.Threading.Tasks.Dataflow.Internal.TargetCore{`0})">
<summary>Initializes the debugging helper.</summary>
<param name="target">The target being viewed.</param>
</member>
<member name="P:System.Threading.Tasks.Dataflow.Internal.TargetCore`1.DebuggingInformation.InputCount">
<summary>Gets the number of messages waiting to be processed.</summary>
</member>
<member name="P:System.Threading.Tasks.Dataflow.Internal.TargetCore`1.DebuggingInformation.InputQueue">
<summary>Gets the messages waiting to be processed.</summary>
</member>
<member name="P:System.Threading.Tasks.Dataflow.Internal.TargetCore`1.DebuggingInformation.PostponedMessages">
<summary>Gets any postponed messages.</summary>
</member>
<member name="P:System.Threading.Tasks.Dataflow.Internal.TargetCore`1.DebuggingInformation.CurrentDegreeOfParallelism">
<summary>Gets the current number of outstanding input processing operations.</summary>
</member>
<member name="P:System.Threading.Tasks.Dataflow.Internal.TargetCore`1.DebuggingInformation.DataflowBlockOptions">
<summary>Gets the DataflowBlockOptions used to configure this block.</summary>
</member>
<member name="P:System.Threading.Tasks.Dataflow.Internal.TargetCore`1.DebuggingInformation.IsDecliningPermanently">
<summary>Gets whether the block is declining further messages.</summary>
</member>
<member name="P:System.Threading.Tasks.Dataflow.Internal.TargetCore`1.DebuggingInformation.IsCompleted">
<summary>Gets whether the block is completed.</summary>
</member>
<member name="T:System.Threading.Tasks.Dataflow.DataflowBlock">
<summary>
Provides a set of static (Shared in Visual Basic) methods for working with dataflow blocks.
</summary>
</member>
<member name="M:System.Threading.Tasks.Dataflow.DataflowBlock.LinkTo``1(System.Threading.Tasks.Dataflow.ISourceBlock{``0},System.Threading.Tasks.Dataflow.ITargetBlock{``0})">
<summary>Links the <see cref="T:System.Threading.Tasks.Dataflow.ISourceBlock`1"/> to the specified <see cref="T:System.Threading.Tasks.Dataflow.ITargetBlock`1"/>.</summary>
<param name="source">The source from which to link.</param>
<param name="target">The <see cref="T:System.Threading.Tasks.Dataflow.ITargetBlock`1"/> to which to connect the source.</param>
<returns>An IDisposable that, upon calling Dispose, will unlink the source from the target.</returns>
<exception cref="T:System.ArgumentNullException">The <paramref name="source"/> is null (Nothing in Visual Basic).</exception>
<exception cref="T:System.ArgumentNullException">The <paramref name="target"/> is null (Nothing in Visual Basic).</exception>
</member>
<member name="M:System.Threading.Tasks.Dataflow.DataflowBlock.LinkTo``1(System.Threading.Tasks.Dataflow.ISourceBlock{``0},System.Threading.Tasks.Dataflow.ITargetBlock{``0},System.Predicate{``0})">
<summary>Links the <see cref="T:System.Threading.Tasks.Dataflow.ISourceBlock`1"/> to the specified <see cref="T:System.Threading.Tasks.Dataflow.ITargetBlock`1"/> using the specified filter.</summary>
<param name="source">The source from which to link.</param>
<param name="target">The <see cref="T:System.Threading.Tasks.Dataflow.ITargetBlock`1"/> to which to connect the source.</param>
<param name="predicate">The filter a message must pass in order for it to propagate from the source to the target.</param>
<returns>An IDisposable that, upon calling Dispose, will unlink the source from the target.</returns>
<exception cref="T:System.ArgumentNullException">The <paramref name="source"/> is null (Nothing in Visual Basic).</exception>
<exception cref="T:System.ArgumentNullException">The <paramref name="target"/> is null (Nothing in Visual Basic).</exception>
<exception cref="T:System.ArgumentNullException">The <paramref name="predicate"/> is null (Nothing in Visual Basic).</exception>
</member>
<member name="M:System.Threading.Tasks.Dataflow.DataflowBlock.LinkTo``1(System.Threading.Tasks.Dataflow.ISourceBlock{``0},System.Threading.Tasks.Dataflow.ITargetBlock{``0},System.Predicate{``0},System.Boolean)">
<summary>Links the <see cref="T:System.Threading.Tasks.Dataflow.ISourceBlock`1"/> to the specified <see cref="T:System.Threading.Tasks.Dataflow.ITargetBlock`1"/> using the specified filter.</summary>
<param name="source">The source from which to link.</param>
<param name="target">The <see cref="T:System.Threading.Tasks.Dataflow.ITargetBlock`1"/> to which to connect the source.</param>
<param name="predicate">The filter a message must pass in order for it to propagate from the source to the target.</param>
<param name="discardsMessages">true if messages that don't meet the predicate are discarded; otherwise, false, to decline such messages.</param>
<returns>An IDisposable that, upon calling Dispose, will unlink the source from the target.</returns>
<exception cref="T:System.ArgumentNullException">The <paramref name="source"/> is null (Nothing in Visual Basic).</exception>
<exception cref="T:System.ArgumentNullException">The <paramref name="target"/> is null (Nothing in Visual Basic).</exception>
<exception cref="T:System.ArgumentNullException">The <paramref name="predicate"/> is null (Nothing in Visual Basic).</exception>
</member>
<member name="M:System.Threading.Tasks.Dataflow.DataflowBlock.Post``1(System.Threading.Tasks.Dataflow.ITargetBlock{``0},``0)">
<summary>Posts an item to the <see cref="T:System.Threading.Tasks.Dataflow.ITargetBlock`1"/>.</summary>
<typeparam name="TInput">Specifies the type of data accepted by the target block.</typeparam>
<param name="target">The target block.</param>
<param name="item">The item being offered to the target.</param>
<returns>true if the item was accepted by the target block; otherwise, false.</returns>
<remarks>
This method will return once the target block has decided to accept or decline the item,
but unless otherwise dictated by special semantics of the target block, it does not wait
for the item to actually be processed (for example, <see cref="T:System.Threading.Tasks.Dataflow.ActionBlock`1"/>
will return from Post as soon as it has stored the posted item into its input queue). From the perspective
of the block's processing, Post is asynchronous. For target blocks that support postponing offered messages,
or for blocks that may do more processing in their Post implementation, consider using
<see cref="T:System.Threading.Tasks.Dataflow.DataflowBlock.SendAsync">SendAsync</see>,
which will return immediately and will enable the target to postpone the posted message and later consume it
after SendAsync returns.
</remarks>
</member>
<member name="M:System.Threading.Tasks.Dataflow.DataflowBlock.SendAsync``1(System.Threading.Tasks.Dataflow.ITargetBlock{``0},``0)">
<summary>Asynchronously offers a message to the target message block, allowing for postponement.</summary>
<typeparam name="TInput">Specifies the type of the data to post to the target.</typeparam>
<param name="target">The target to which to post the data.</param>
<param name="item">The item being offered to the target.</param>
<returns>
A <see cref="T:System.Threading.Tasks.Task`1"/> that represents the asynchronous send. If the target
accepts and consumes the offered element during the call to <see cref="M:System.Threading.Tasks.Dataflow.DataflowBlock.SendAsync``1(System.Threading.Tasks.Dataflow.ITargetBlock{``0},``0)"/>, upon return
from the call the resulting <see cref="T:System.Threading.Tasks.Task`1"/> will be completed and its <see cref="P:System.Threading.Tasks.Task`1.Result">Result</see>
property will return true. If the target declines the offered element during the call, upon return from the call the resulting <see cref="T:System.Threading.Tasks.Task`1"/> will
be completed and its <see cref="P:System.Threading.Tasks.Task`1.Result">Result</see> property will return false. If the target
postpones the offered element, the element will be buffered until such time that the target consumes or releases it, at which
point the Task will complete, with its<see cref="P:System.Threading.Tasks.Task`1.Result"/>indicating whether the message was consumed. If the target
never attempts to consume or release the message, the returned task will never complete.
</returns>
<exception cref="T:System.ArgumentNullException">The <paramref name="target"/> is null (Nothing in Visual Basic).</exception>
</member>
<member name="M:System.Threading.Tasks.Dataflow.DataflowBlock.TryReceive``1(System.Threading.Tasks.Dataflow.IReceivableSourceBlock{``0},``0@)">
<summary>
Attempts to synchronously receive an item from the <see cref="T:System.Threading.Tasks.Dataflow.ISourceBlock`1"/>.
</summary>
<param name="source">The source from which to receive.</param>
<param name="item">The item received from the source.</param>
<returns>true if an item could be received; otherwise, false.</returns>
<remarks>
This method does not wait until the source has an item to provide.
It will return whether or not an element was available.
</remarks>
</member>
<member name="M:System.Threading.Tasks.Dataflow.DataflowBlock.ReceiveAsync``1(System.Threading.Tasks.Dataflow.ISourceBlock{``0})">
<summary>Asynchronously receives a value from the specified source.</summary>
<typeparam name="TOutput">Specifies the type of data contained in the source.</typeparam>
<param name="source">The source from which to asynchronously receive.</param>
<returns>
A <see cref="T:System.Threading.Tasks.Task`1"/> that represents the asynchronous receive operation. When an item is successfully received from the source,
the returned task will be completed and its <see cref="P:System.Threading.Tasks.Task`1.Result">Result</see> will return the received item. If an item cannot be retrieved,
because the source is empty and completed, the returned task will be canceled.
</returns>
<exception cref="T:System.ArgumentNullException">The <paramref name="source"/> is null (Nothing in Visual Basic).</exception>
</member>
<member name="M:System.Threading.Tasks.Dataflow.DataflowBlock.ReceiveAsync``1(System.Threading.Tasks.Dataflow.ISourceBlock{``0},System.Threading.CancellationToken)">
<summary>Asynchronously receives a value from the specified source.</summary>
<typeparam name="TOutput">Specifies the type of data contained in the source.</typeparam>
<param name="source">The source from which to asynchronously receive.</param>
<param name="cancellationToken">The <see cref="T:System.Threading.CancellationToken"/> which may be used to cancel the receive operation.</param>
<returns>
A <see cref="T:System.Threading.Tasks.Task`1"/> that represents the asynchronous receive operation. When an item is successfully received from the source,
the returned task will be completed and its <see cref="P:System.Threading.Tasks.Task`1.Result">Result</see> will return the received item. If an item cannot be retrieved,
either because cancellation is requested or the source is empty and completed, the returned task will be canceled.
</returns>
<exception cref="T:System.ArgumentNullException">The <paramref name="source"/> is null (Nothing in Visual Basic).</exception>
</member>
<member name="M:System.Threading.Tasks.Dataflow.DataflowBlock.ReceiveAsync``1(System.Threading.Tasks.Dataflow.ISourceBlock{``0},System.TimeSpan)">
<summary>Asynchronously receives a value from the specified source.</summary>
<typeparam name="TOutput">Specifies the type of data contained in the source.</typeparam>
<param name="source">The source from which to asynchronously receive.</param>
<param name="timeout">A <see cref="T:System.TimeSpan"/> that represents the number of milliseconds to wait, or a TimeSpan that represents -1 milliseconds to wait indefinitely.</param>
<returns>
A <see cref="T:System.Threading.Tasks.Task`1"/> that represents the asynchronous receive operation. When an item is successfully received from the source,
the returned task will be completed and its <see cref="P:System.Threading.Tasks.Task`1.Result">Result</see> will return the received item. If an item cannot be retrieved,
either because the timeout expires or the source is empty and completed, the returned task will be canceled.
</returns>
<exception cref="T:System.ArgumentNullException">The <paramref name="source"/> is null (Nothing in Visual Basic).</exception>
<exception cref="T:System.ArgumentOutOfRangeException">
timeout is a negative number other than -1 milliseconds, which represents an infinite time-out -or- timeout is greater than <see cref="F:System.Int32.MaxValue"/>.
</exception>
</member>
<member name="M:System.Threading.Tasks.Dataflow.DataflowBlock.ReceiveAsync``1(System.Threading.Tasks.Dataflow.ISourceBlock{``0},System.TimeSpan,System.Threading.CancellationToken)">
<summary>Asynchronously receives a value from the specified source.</summary>
<typeparam name="TOutput">Specifies the type of data contained in the source.</typeparam>
<param name="source">The source from which to asynchronously receive.</param>
<param name="timeout">A <see cref="T:System.TimeSpan"/> that represents the number of milliseconds to wait, or a TimeSpan that represents -1 milliseconds to wait indefinitely.</param>
<param name="cancellationToken">The <see cref="T:System.Threading.CancellationToken"/> which may be used to cancel the receive operation.</param>
<returns>
A <see cref="T:System.Threading.Tasks.Task`1"/> that represents the asynchronous receive operation. When an item is successfully received from the source,
the returned task will be completed and its <see cref="P:System.Threading.Tasks.Task`1.Result">Result</see> will return the received item. If an item cannot be retrieved,
either because the timeout expires, cancellation is requested, or the source is empty and completed, the returned task will be canceled.
</returns>
<exception cref="T:System.ArgumentNullException">The <paramref name="source"/> is null (Nothing in Visual Basic).</exception>
<exception cref="T:System.ArgumentOutOfRangeException">
timeout is a negative number other than -1 milliseconds, which represents an infinite time-out -or- timeout is greater than <see cref="F:System.Int32.MaxValue"/>.
</exception>
</member>
<member name="M:System.Threading.Tasks.Dataflow.DataflowBlock.Receive``1(System.Threading.Tasks.Dataflow.ISourceBlock{``0})">
<summary>Synchronously receives an item from the source.</summary>
<typeparam name="TOutput">Specifies the type of data contained in the source.</typeparam>
<param name="source">The source from which to receive.</param>
<returns>The received item.</returns>
<exception cref="T:System.ArgumentNullException">The <paramref name="source"/> is null (Nothing in Visual Basic).</exception>
<exception cref="T:System.InvalidOperationException">No item could be received from the source.</exception>
</member>
<member name="M:System.Threading.Tasks.Dataflow.DataflowBlock.Receive``1(System.Threading.Tasks.Dataflow.ISourceBlock{``0},System.Threading.CancellationToken)">
<summary>Synchronously receives an item from the source.</summary>
<typeparam name="TOutput">Specifies the type of data contained in the source.</typeparam>
<param name="source">The source from which to receive.</param>
<param name="cancellationToken">The <see cref="T:System.Threading.CancellationToken"/> which may be used to cancel the receive operation.</param>
<returns>The received item.</returns>
<exception cref="T:System.ArgumentNullException">The <paramref name="source"/> is null (Nothing in Visual Basic).</exception>
<exception cref="T:System.InvalidOperationException">No item could be received from the source.</exception>
<exception cref="T:System.OperationCanceledException">The operation was canceled before an item was received from the source.</exception>
<remarks>
If the source successfully offered an item that was received by this operation, it will be returned, even if a concurrent cancellation request occurs.
</remarks>
</member>
<member name="M:System.Threading.Tasks.Dataflow.DataflowBlock.Receive``1(System.Threading.Tasks.Dataflow.ISourceBlock{``0},System.TimeSpan)">
<summary>Synchronously receives an item from the source.</summary>
<typeparam name="TOutput">Specifies the type of data contained in the source.</typeparam>
<param name="source">The source from which to receive.</param>
<param name="timeout">A <see cref="T:System.TimeSpan"/> that represents the number of milliseconds to wait, or a TimeSpan that represents -1 milliseconds to wait indefinitely.</param>
<returns>The received item.</returns>
<exception cref="T:System.ArgumentOutOfRangeException">
timeout is a negative number other than -1 milliseconds, which represents an infinite time-out -or- timeout is greater than <see cref="F:System.Int32.MaxValue"/>.
</exception>
<exception cref="T:System.ArgumentNullException">The <paramref name="source"/> is null (Nothing in Visual Basic).</exception>
<exception cref="T:System.InvalidOperationException">No item could be received from the source.</exception>
<exception cref="T:System.TimeoutException">The specified timeout expired before an item was received from the source.</exception>
<remarks>
If the source successfully offered an item that was received by this operation, it will be returned, even if a concurrent timeout occurs.
</remarks>
</member>
<member name="M:System.Threading.Tasks.Dataflow.DataflowBlock.Receive``1(System.Threading.Tasks.Dataflow.ISourceBlock{``0},System.TimeSpan,System.Threading.CancellationToken)">
<summary>Synchronously receives an item from the source.</summary>
<typeparam name="TOutput">Specifies the type of data contained in the source.</typeparam>
<param name="source">The source from which to receive.</param>
<param name="timeout">A <see cref="T:System.TimeSpan"/> that represents the number of milliseconds to wait, or a TimeSpan that represents -1 milliseconds to wait indefinitely.</param>
<param name="cancellationToken">The <see cref="T:System.Threading.CancellationToken"/> which may be used to cancel the receive operation.</param>
<returns>The received item.</returns>
<exception cref="T:System.ArgumentNullException">The <paramref name="source"/> is null (Nothing in Visual Basic).</exception>
<exception cref="T:System.ArgumentOutOfRangeException">
timeout is a negative number other than -1 milliseconds, which represents an infinite time-out -or- timeout is greater than <see cref="F:System.Int32.MaxValue"/>.
</exception>
<exception cref="T:System.InvalidOperationException">No item could be received from the source.</exception>
<exception cref="T:System.TimeoutException">The specified timeout expired before an item was received from the source.</exception>
<exception cref="T:System.OperationCanceledException">The operation was canceled before an item was received from the source.</exception>
<remarks>
If the source successfully offered an item that was received by this operation, it will be returned, even if a concurrent timeout or cancellation request occurs.
</remarks>
</member>
<member name="M:System.Threading.Tasks.Dataflow.DataflowBlock.ReceiveCore``1(System.Threading.Tasks.Dataflow.ISourceBlock{``0},System.Boolean,System.TimeSpan,System.Threading.CancellationToken)">
<summary>Receives an item from the source.</summary>
<typeparam name="TOutput">Specifies the type of data contained in the source.</typeparam>
<param name="source">The source from which to receive.</param>
<param name="attemptTryReceive">Whether to first attempt using TryReceive to get a value from the source.</param>
<param name="timeout">A <see cref="T:System.TimeSpan"/> that represents the number of milliseconds to wait, or a TimeSpan that represents -1 milliseconds to wait indefinitely.</param>
<param name="cancellationToken">The <see cref="T:System.Threading.CancellationToken"/> which may be used to cancel the receive operation.</param>
<returns>A Task for the receive operation.</returns>
</member>
<member name="M:System.Threading.Tasks.Dataflow.DataflowBlock.ReceiveCoreByLinking``1(System.Threading.Tasks.Dataflow.ISourceBlock{``0},System.Int32,System.Threading.CancellationToken)">
<summary>Receives an item from the source by linking a temporary target from it.</summary>
<typeparam name="TOutput">Specifies the type of data contained in the source.</typeparam>
<param name="source">The source from which to receive.</param>
<param name="millisecondsTimeout">The number of milliseconds to wait, or -1 to wait indefinitely.</param>
<param name="cancellationToken">The <see cref="T:System.Threading.CancellationToken"/> which may be used to cancel the receive operation.</param>
</member>
<member name="M:System.Threading.Tasks.Dataflow.DataflowBlock.OutputAvailableAsync``1(System.Threading.Tasks.Dataflow.ISourceBlock{``0})">
<summary>
Provides a <see cref="T:System.Threading.Tasks.Task`1"/>
that asynchronously monitors the source for available output.
</summary>
<typeparam name="TOutput">Specifies the type of data contained in the source.</typeparam>
<param name="source">The source to monitor.</param>
<returns>
A <see cref="T:System.Threading.Tasks.Task`1"/> that informs of whether and when
more output is available. When the task completes, if it's<see cref="P:System.Threading.Tasks.Task`1.Result"/> is true, more output
is available in the source (though another consumer of the source may retrieve the data).
If it returns false, more output is not and will never be available, due to the source
completing prior to output being available.
</returns>
</member>
<member name="M:System.Threading.Tasks.Dataflow.DataflowBlock.Encapsulate``2(System.Threading.Tasks.Dataflow.ITargetBlock{``0},System.Threading.Tasks.Dataflow.ISourceBlock{``1})">
<summary>Encapsulates a target and a source into a single propagator.</summary>
<typeparam name="TInput">Specifies the type of input expected by the target.</typeparam>
<typeparam name="TOutput">Specifies the type of output produced by the source.</typeparam>
<param name="target">The target to encapsulate.</param>
<param name="source">The source to encapsulate.</param>
<returns>The encapsulated target and source.</returns>
<remarks>
This method does not in any way connect the target to the source. It creates a
propagator block whose target methods delegate to the specified target and whose
source methods delegate to the specified source. Any connection between the target
and the source is left for the developer to explicitly provide. The propagator's
<see cref="T:System.Threading.Tasks.Dataflow.IDataflowBlock"/> implementation delegates to the specified source.
</remarks>
</member>
<member name="M:System.Threading.Tasks.Dataflow.DataflowBlock.Choose``2(System.Threading.Tasks.Dataflow.ISourceBlock{``0},System.Action{``0},System.Threading.Tasks.Dataflow.ISourceBlock{``1},System.Action{``1})">
<summary>Monitors two dataflow sources, invoking the provided handler for whichever source makes data available first.</summary>
<typeparam name="T1">Specifies type of data contained in the first source.</typeparam>
<typeparam name="T2">Specifies type of data contained in the second source.</typeparam>
<param name="source1">The first source.</param>
<param name="action1">The handler to execute on data from the first source.</param>
<param name="source2">The second source.</param>
<param name="action2">The handler to execute on data from the second source.</param>
<returns>
<para>
A <see cref="T:System.Threading.Tasks.Task`1"/> that represents the asynchronous choice.
If both sources are completed prior to the choice completing,
the resulting task will be canceled. When one of the sources has data available and successfully propagates
it to the choice, the resulting task will complete when the handler completes: if the handler throws an exception,
the task will end in the <see cref="F:System.Threading.Tasks.TaskStatus.Faulted"/> state containing the unhandled exception, otherwise the task
will end with its <see cref="P:System.Threading.Tasks.Task`1.Result"/> set to either 0 or 1 to
represent the first or second source, respectively.
</para>
<para>
This method will only consume an element from one of the two data sources, never both.
</para>
</returns>
<exception cref="T:System.ArgumentNullException">The <paramref name="source1"/> is null (Nothing in Visual Basic).</exception>
<exception cref="T:System.ArgumentNullException">The <paramref name="action1"/> is null (Nothing in Visual Basic).</exception>
<exception cref="T:System.ArgumentNullException">The <paramref name="source2"/> is null (Nothing in Visual Basic).</exception>
<exception cref="T:System.ArgumentNullException">The <paramref name="action2"/> is null (Nothing in Visual Basic).</exception>
</member>
<member name="M:System.Threading.Tasks.Dataflow.DataflowBlock.Choose``2(System.Threading.Tasks.Dataflow.ISourceBlock{``0},System.Action{``0},System.Threading.Tasks.Dataflow.ISourceBlock{``1},System.Action{``1},System.Threading.Tasks.Dataflow.DataflowBlockOptions)">
<summary>Monitors two dataflow sources, invoking the provided handler for whichever source makes data available first.</summary>
<typeparam name="T1">Specifies type of data contained in the first source.</typeparam>
<typeparam name="T2">Specifies type of data contained in the second source.</typeparam>
<param name="source1">The first source.</param>
<param name="action1">The handler to execute on data from the first source.</param>
<param name="source2">The second source.</param>
<param name="action2">The handler to execute on data from the second source.</param>
<param name="dataflowBlockOptions">The options with which to configure this choice.</param>
<returns>
<para>
A <see cref="T:System.Threading.Tasks.Task`1"/> that represents the asynchronous choice.
If both sources are completed prior to the choice completing, or if the CancellationToken
provided as part of <paramref name="dataflowBlockOptions"/> is canceled prior to the choice completing,
the resulting task will be canceled. When one of the sources has data available and successfully propagates
it to the choice, the resulting task will complete when the handler completes: if the handler throws an exception,
the task will end in the <see cref="F:System.Threading.Tasks.TaskStatus.Faulted"/> state containing the unhandled exception, otherwise the task
will end with its <see cref="P:System.Threading.Tasks.Task`1.Result"/> set to either 0 or 1 to
represent the first or second source, respectively.
</para>
<para>
This method will only consume an element from one of the two data sources, never both.
If cancellation is requested after an element has been received, the cancellation request will be ignored,
and the relevant handler will be allowed to execute.
</para>
</returns>
<exception cref="T:System.ArgumentNullException">The <paramref name="source1"/> is null (Nothing in Visual Basic).</exception>
<exception cref="T:System.ArgumentNullException">The <paramref name="action1"/> is null (Nothing in Visual Basic).</exception>
<exception cref="T:System.ArgumentNullException">The <paramref name="source2"/> is null (Nothing in Visual Basic).</exception>
<exception cref="T:System.ArgumentNullException">The <paramref name="action2"/> is null (Nothing in Visual Basic).</exception>
<exception cref="T:System.ArgumentNullException">The <paramref name="dataflowBlockOptions"/> is null (Nothing in Visual Basic).</exception>
</member>
<member name="M:System.Threading.Tasks.Dataflow.DataflowBlock.Choose``3(System.Threading.Tasks.Dataflow.ISourceBlock{``0},System.Action{``0},System.Threading.Tasks.Dataflow.ISourceBlock{``1},System.Action{``1},System.Threading.Tasks.Dataflow.ISourceBlock{``2},System.Action{``2})">
<summary>Monitors two dataflow sources, invoking the provided handler for whichever source makes data available first.</summary>
<typeparam name="T1">Specifies type of data contained in the first source.</typeparam>
<typeparam name="T2">Specifies type of data contained in the second source.</typeparam>
<typeparam name="T3">Specifies type of data contained in the third source.</typeparam>
<param name="source1">The first source.</param>
<param name="action1">The handler to execute on data from the first source.</param>
<param name="source2">The second source.</param>
<param name="action2">The handler to execute on data from the second source.</param>
<param name="source3">The third source.</param>
<param name="action3">The handler to execute on data from the third source.</param>
<returns>
<para>
A <see cref="T:System.Threading.Tasks.Task`1"/> that represents the asynchronous choice.
If all sources are completed prior to the choice completing,
the resulting task will be canceled. When one of the sources has data available and successfully propagates
it to the choice, the resulting task will complete when the handler completes: if the handler throws an exception,
the task will end in the <see cref="F:System.Threading.Tasks.TaskStatus.Faulted"/> state containing the unhandled exception, otherwise the task
will end with its <see cref="P:System.Threading.Tasks.Task`1.Result"/> set to the 0-based index of the source.
</para>
<para>
This method will only consume an element from one of the data sources, never more than one.
</para>
</returns>
<exception cref="T:System.ArgumentNullException">The <paramref name="source1"/> is null (Nothing in Visual Basic).</exception>
<exception cref="T:System.ArgumentNullException">The <paramref name="action1"/> is null (Nothing in Visual Basic).</exception>
<exception cref="T:System.ArgumentNullException">The <paramref name="source2"/> is null (Nothing in Visual Basic).</exception>
<exception cref="T:System.ArgumentNullException">The <paramref name="action2"/> is null (Nothing in Visual Basic).</exception>
<exception cref="T:System.ArgumentNullException">The <paramref name="source3"/> is null (Nothing in Visual Basic).</exception>
<exception cref="T:System.ArgumentNullException">The <paramref name="action3"/> is null (Nothing in Visual Basic).</exception>
</member>
<member name="M:System.Threading.Tasks.Dataflow.DataflowBlock.Choose``3(System.Threading.Tasks.Dataflow.ISourceBlock{``0},System.Action{``0},System.Threading.Tasks.Dataflow.ISourceBlock{``1},System.Action{``1},System.Threading.Tasks.Dataflow.ISourceBlock{``2},System.Action{``2},System.Threading.Tasks.Dataflow.DataflowBlockOptions)">
<summary>Monitors two dataflow sources, invoking the provided handler for whichever source makes data available first.</summary>
<typeparam name="T1">Specifies type of data contained in the first source.</typeparam>
<typeparam name="T2">Specifies type of data contained in the second source.</typeparam>
<typeparam name="T3">Specifies type of data contained in the third source.</typeparam>
<param name="source1">The first source.</param>
<param name="action1">The handler to execute on data from the first source.</param>
<param name="source2">The second source.</param>
<param name="action2">The handler to execute on data from the second source.</param>
<param name="source3">The third source.</param>
<param name="action3">The handler to execute on data from the third source.</param>
<param name="dataflowBlockOptions">The options with which to configure this choice.</param>
<returns>
<para>
A <see cref="T:System.Threading.Tasks.Task`1"/> that represents the asynchronous choice.
If all sources are completed prior to the choice completing, or if the CancellationToken
provided as part of <paramref name="dataflowBlockOptions"/> is canceled prior to the choice completing,
the resulting task will be canceled. When one of the sources has data available and successfully propagates
it to the choice, the resulting task will complete when the handler completes: if the handler throws an exception,
the task will end in the <see cref="F:System.Threading.Tasks.TaskStatus.Faulted"/> state containing the unhandled exception, otherwise the task
will end with its <see cref="P:System.Threading.Tasks.Task`1.Result"/> set to the 0-based index of the source.
</para>
<para>
This method will only consume an element from one of the data sources, never more than one.
If cancellation is requested after an element has been received, the cancellation request will be ignored,
and the relevant handler will be allowed to execute.
</para>
</returns>
<exception cref="T:System.ArgumentNullException">The <paramref name="source1"/> is null (Nothing in Visual Basic).</exception>
<exception cref="T:System.ArgumentNullException">The <paramref name="action1"/> is null (Nothing in Visual Basic).</exception>
<exception cref="T:System.ArgumentNullException">The <paramref name="source2"/> is null (Nothing in Visual Basic).</exception>
<exception cref="T:System.ArgumentNullException">The <paramref name="action2"/> is null (Nothing in Visual Basic).</exception>
<exception cref="T:System.ArgumentNullException">The <paramref name="source3"/> is null (Nothing in Visual Basic).</exception>
<exception cref="T:System.ArgumentNullException">The <paramref name="action3"/> is null (Nothing in Visual Basic).</exception>
<exception cref="T:System.ArgumentNullException">The <paramref name="dataflowBlockOptions"/> is null (Nothing in Visual Basic).</exception>
</member>
<member name="M:System.Threading.Tasks.Dataflow.DataflowBlock.CreateChooseBranch``1(System.Runtime.CompilerServices.StrongBox{System.Threading.Tasks.Task},System.Threading.CancellationTokenSource,System.Threading.Tasks.TaskCompletionSource{System.Int32},System.Threading.Tasks.TaskScheduler,System.Int32,System.Threading.Tasks.Dataflow.ISourceBlock{``0},System.Action{``0})">
<summary>Creates a target for a branch of a Choose.</summary>
<typeparam name="T">Specifies the type of data coming through this branch.</typeparam>
<param name="boxedCompleted">A strong box around the completed Task from any target. Also sync obj for access to the targets.</param>
<param name="cts">The CancellationTokenSource used to issue tear down / cancellation requests.</param>
<param name="result">The result task used to represent the overall Choose operation.</param>
<param name="scheduler">The TaskScheduler on which to scheduler work.</param>
<param name="branchId">The ID of this branch, used to complete the resultTask.</param>
<param name="source">The source with which this branch is associated.</param>
<param name="action">The action to run for a single element received from the source.</param>
<returns>A task representing the branch.</returns>
</member>
<member name="M:System.Threading.Tasks.Dataflow.DataflowBlock.AsObservable``1(System.Threading.Tasks.Dataflow.ISourceBlock{``0})">
<summary>Creates a new <see cref="T:System.IObservable`1"/> abstraction over the <see cref="T:System.Threading.Tasks.Dataflow.ISourceBlock`1"/>.</summary>
<typeparam name="TOutput">Specifies the type of data contained in the source.</typeparam>
<param name="source">The source to wrap.</param>
<returns>An IObservable{TOutput} that enables observers to be subscribed to the source.</returns>
<exception cref="T:System.ArgumentNullException">The <paramref name="source"/> is null (Nothing in Visual Basic).</exception>
</member>
<member name="F:System.Threading.Tasks.Dataflow.DataflowBlock.s_nonGreedyExecutionOptions">
<summary>Cached options for non-greedy processing.</summary>
</member>
<member name="M:System.Threading.Tasks.Dataflow.DataflowBlock.AsObserver``1(System.Threading.Tasks.Dataflow.ITargetBlock{``0})">
<summary>Creates a new <see cref="T:System.IObserver`1"/> abstraction over the <see cref="T:System.Threading.Tasks.Dataflow.ITargetBlock`1"/>.</summary>
<typeparam name="TInput">Specifies the type of input accepted by the target block.</typeparam>
<param name="target">The target to wrap.</param>
<returns>An observer that wraps the target block.</returns>
</member>
<member name="T:System.Threading.Tasks.Dataflow.DataflowBlock.FilteredLinkPropagator`1">
<summary>Provides a synchronous filter for use in filtered LinkTos.</summary>
<typeparam name="T">Specifies the type of data being filtered.</typeparam>
</member>
<member name="F:System.Threading.Tasks.Dataflow.DataflowBlock.FilteredLinkPropagator`1.m_source">
<summary>The source connected with this filter.</summary>
</member>
<member name="F:System.Threading.Tasks.Dataflow.DataflowBlock.FilteredLinkPropagator`1.m_target">
<summary>The target with which this block is associated.</summary>
</member>
<member name="F:System.Threading.Tasks.Dataflow.DataflowBlock.FilteredLinkPropagator`1.m_userProvidedPredicate">
<summary>The predicate provided by the user.</summary>
</member>
<member name="F:System.Threading.Tasks.Dataflow.DataflowBlock.FilteredLinkPropagator`1.m_discardsMessages">
<summary>Whether to accept and drop messages that don't meet the filter.</summary>
</member>
<member name="F:System.Threading.Tasks.Dataflow.DataflowBlock.FilteredLinkPropagator`1.m_executionContext">
<summary>The execution context captured when this propagator was instantiated.</summary>
</member>
<member name="M:System.Threading.Tasks.Dataflow.DataflowBlock.FilteredLinkPropagator`1.#ctor(System.Threading.Tasks.Dataflow.ISourceBlock{`0},System.Threading.Tasks.Dataflow.ITargetBlock{`0},System.Predicate{`0},System.Boolean)">
<summary>Initializes the filter passthrough.</summary>
<param name="source">The source connected to this filter.</param>
<param name="target">The target to which filtered messages should be passed.</param>
<param name="predicate">The predicate to run for each messsage.</param>
<param name="discardsMessages">Whether to accept and drop messages that don't meet the filter.</param>
</member>
<member name="M:System.Threading.Tasks.Dataflow.DataflowBlock.FilteredLinkPropagator`1.RunPredicate(`0)">
<summary>Runs the user-provided predicate over an item in the correct execution context.</summary>
<param name="item">The item to evaluate.</param>
<returns>true if the item passed the filter; otherwise, false.</returns>
</member>
<member name="M:System.Threading.Tasks.Dataflow.DataflowBlock.FilteredLinkPropagator`1.System#Threading#Tasks#Dataflow#ITargetBlock{T}#OfferMessage(System.Threading.Tasks.Dataflow.DataflowMessageHeader,`0,System.Threading.Tasks.Dataflow.ISourceBlock{`0},System.Boolean)">
<summary>
Offers a message to the <see cref="T:System.Threading.Tasks.Dataflow.ITargetBlock`1"/>, giving the target the opportunity to consume or postpone the message.
</summary><param name="messageHeader">
A <see cref="T:System.Threading.Tasks.Dataflow.DataflowMessageHeader"/> instance that represents the header of the message being offered.
</param><param name="messageValue">
The value of the message being offered.
</param><param name="source">
The <see cref="T:System.Threading.Tasks.Dataflow.ISourceBlock`1"/> offering the message. This may be null (Nothing in Visual Basic).
</param><param name="consumeToAccept">
true if the target must call ConsumeMessage synchronously during the call to OfferMessage, prior to returning
<see cref="F:System.Threading.Tasks.Dataflow.DataflowMessageStatus.Accepted"/>, in order to consume the message.
false if the target wanting to accept the message should not call ConsumeMessage, and should isntead simply return DataflowMessageStatus.Accepted.
</param><returns>
The status of the offered message. If the message was accepted by the target, <see cref="F:System.Threading.Tasks.Dataflow.DataflowMessageStatus.Accepted"/> is returned, and the source should
no longer use the offered message, as it is now owned by the target. If the message was postponed by the target, <see cref="F:System.Threading.Tasks.Dataflow.DataflowMessageStatus.Postponed"/> is returned
as a notification that the target may later attempt to consume or reserve the message; in the meantime, the source still owns the message and may offer it to other blocks.
If the target would have otherwise postponed but source was null, <see cref="F:System.Threading.Tasks.Dataflow.DataflowMessageStatus.Declined"/> is instead returned.
If the target tried to accept the message but missed it due to the source delivering the message to another target or simply discarding it,
<see cref="F:System.Threading.Tasks.Dataflow.DataflowMessageStatus.NotAvailable"/> is returned.
If the target chose not to accept the message, <see cref="F:System.Threading.Tasks.Dataflow.DataflowMessageStatus.Declined"/> is returned. If the target
chose not to accept the message and will never accept another message from this source, <see cref="F:System.Threading.Tasks.Dataflow.DataflowMessageStatus.DecliningPermanently"/> is returned.
</returns><exception cref="T:System.ArgumentException">
The <paramref name="messageHeader"/> is not valid.
</exception><exception cref="T:System.ArgumentException">
<paramref name="consumeToAccept"/> may only be true if provided with a non-null <paramref name="source"/>.
</exception>
</member>
<member name="M:System.Threading.Tasks.Dataflow.DataflowBlock.FilteredLinkPropagator`1.System#Threading#Tasks#Dataflow#ISourceBlock{T}#ConsumeMessage(System.Threading.Tasks.Dataflow.DataflowMessageHeader,System.Threading.Tasks.Dataflow.ITargetBlock{`0},System.Boolean@)">
<summary>
Called by a linked <see cref="T:System.Threading.Tasks.Dataflow.ITargetBlock`1"/> to accept and consume a
<see cref="T:System.Threading.Tasks.Dataflow.DataflowMessageHeader"/> previously offered by this <see cref="T:System.Threading.Tasks.Dataflow.ISourceBlock`1"/>.
</summary><param name="messageHeader">The <see cref="T:System.Threading.Tasks.Dataflow.DataflowMessageHeader"/> of the message being consumed.</param><param name="target">
The <see cref="T:System.Threading.Tasks.Dataflow.ITargetBlock`1"/> consuming the message.
</param><param name="messageConsumed">
True if the message was successfully consumed. False otherwise.
</param><returns>
<para>
The value of the consumed message. This may correspond to a different <see cref="T:System.Threading.Tasks.Dataflow.DataflowMessageHeader"/> instance than was previously reserved and
passed as the <paramref name="messageHeader"/> to <see cref="M:ConsumeMessage"/>. The consuming <see cref="T:System.Threading.Tasks.Dataflow.ITargetBlock`1"/> must
use the returned value instead of the value passed as messageValue through <see cref="M:OfferMessage"/>.
</para>
<para>
If the message requested is not available, the return value will be null (Nothing in Visual Basic).
</para>
</returns><exception cref="T:System.ArgumentException">
The <paramref name="messageHeader"/> is not valid.
</exception><exception cref="T:System.ArgumentNullException">
The <paramref name="target"/> is null (Nothing in Visual Basic).
</exception><remarks>
<para>
Only <see cref="T:System.Threading.Tasks.Dataflow.ITargetBlock`1"/> instances linked to this <see cref="T:System.Threading.Tasks.Dataflow.ISourceBlock`1"/>
instance may use <see cref="M:ConsumeMessage"/>, and it must only be used
to reserve <see cref="T:System.Threading.Tasks.Dataflow.DataflowMessageHeader"/> instances previously
offered by this source to the target.
</para>
</remarks>
</member>
<member name="M:System.Threading.Tasks.Dataflow.DataflowBlock.FilteredLinkPropagator`1.System#Threading#Tasks#Dataflow#ISourceBlock{T}#ReserveMessage(System.Threading.Tasks.Dataflow.DataflowMessageHeader,System.Threading.Tasks.Dataflow.ITargetBlock{`0})">
<summary>
Called by a linked <see cref="T:System.Threading.Tasks.Dataflow.ITargetBlock`1"/> to reserve a previously offered <see cref="T:System.Threading.Tasks.Dataflow.DataflowMessageHeader"/>
by this <see cref="T:System.Threading.Tasks.Dataflow.ISourceBlock`1"/>.
</summary><param name="messageHeader">
The <see cref="T:System.Threading.Tasks.Dataflow.DataflowMessageHeader"/> of the message being reserved.
</param><param name="target">
The <see cref="T:System.Threading.Tasks.Dataflow.ITargetBlock`1"/> reserving the message.
</param><returns>true if the message was successfully reserved; otherwise, false.</returns><exception cref="T:System.ArgumentException">
The <paramref name="messageHeader"/> is not valid.
</exception><exception cref="T:System.ArgumentNullException">
The <paramref name="target"/> is null (Nothing in Visual Basic).
</exception><remarks>
<para>
Only <see cref="T:System.Threading.Tasks.Dataflow.ITargetBlock`1"/> instances linked to this <see cref="T:System.Threading.Tasks.Dataflow.ISourceBlock`1"/> instance
may use <see cref="M:ReserveMessage"/>, and it must only be used
to reserve <see cref="T:System.Threading.Tasks.Dataflow.DataflowMessageHeader"/> instances previously
offered by this source to the target.
</para>
<para>
If true is returned, the <see cref="T:System.Threading.Tasks.Dataflow.ITargetBlock`1"/> must subsequently call either <see cref="M:ConsumeMessage"/> or <see cref="M:ReserveMessage"/> for this message.
Failure to do so may result in the source being unable to propagate any further messages to this or other targets.
</para>
<para>
<see cref="M:ReserveMessage"/> must not be called while the target is holding any internal locks. Doing so will violate the lock hierarchy
necessary to avoid deadlocks in a dataflow network.
</para>
</remarks>
</member>
<member name="M:System.Threading.Tasks.Dataflow.DataflowBlock.FilteredLinkPropagator`1.System#Threading#Tasks#Dataflow#ISourceBlock{T}#ReleaseReservation(System.Threading.Tasks.Dataflow.DataflowMessageHeader,System.Threading.Tasks.Dataflow.ITargetBlock{`0})">
<summary>
Called by a linked <see cref="T:System.Threading.Tasks.Dataflow.ITargetBlock`1"/> to release a previously reserved
<see cref="T:System.Threading.Tasks.Dataflow.DataflowMessageHeader"/> by this <see cref="T:System.Threading.Tasks.Dataflow.ISourceBlock`1"/>.
</summary><param name="messageHeader">
The <see cref="T:System.Threading.Tasks.Dataflow.DataflowMessageHeader"/> of the reserved message being released.
</param><param name="target">
The <see cref="T:System.Threading.Tasks.Dataflow.ITargetBlock`1"/> releasing the message it previously reserved.
</param><exception cref="T:System.ArgumentException">
The <paramref name="messageHeader"/> is not valid.
</exception><exception cref="T:System.ArgumentNullException">
The <paramref name="target"/> is null (Nothing in Visual Basic).
</exception><exception cref="T:System.InvalidOperationException">
The <paramref name="target"/> did not have the message reserved.
</exception><remarks>
<para>
Only <see cref="T:System.Threading.Tasks.Dataflow.ITargetBlock`1"/> instances linked to this <see cref="T:System.Threading.Tasks.Dataflow.ISourceBlock`1"/>
instance may use <see cref="M:ReleaseMessage"/>, and it must only be used
to release <see cref="T:System.Threading.Tasks.Dataflow.DataflowMessageHeader"/> instances previously
and successfully reserved by the target.
</para>
</remarks>
</member>
<member name="M:System.Threading.Tasks.Dataflow.DataflowBlock.FilteredLinkPropagator`1.System#Threading#Tasks#Dataflow#IDataflowBlock#Complete">
<summary>
Signals to the <see cref="T:System.Threading.Tasks.Dataflow.IDataflowBlock"/> that it should not accept
nor produce any more messages nor consume any more postponed messages.
</summary><remarks>
After Complete has been called on a dataflow block, that block will complete
(such that its <see cref="M:Completion"/> task will enter a final state) after it's processed all previously
available data. Complete will not block waiting for completion to occur, but rather will initiaite
the request; to wait for completion to occur, the <see cref="M:Completion"/> task may be used.
</remarks>
</member>
<member name="M:System.Threading.Tasks.Dataflow.DataflowBlock.FilteredLinkPropagator`1.System#Threading#Tasks#Dataflow#IDataflowBlock#Fault(System.Exception)">
<summary>
Causes the <see cref="T:System.Threading.Tasks.Dataflow.IDataflowBlock"/> to complete in a
<see cref="F:System.Threading.Tasks.TaskStatus.Faulted"/> state.
</summary><param name="exception">The <see cref="T:System.Exception"/> that caused the faulting.</param><exception cref="T:System.ArgumentNullException">
The <paramref name="exception"/> is null (Nothing in Visual Basic).
</exception><remarks>
After Fault has been called on a dataflow block, that block will complete
(such that its <see cref="M:Completion"/> task will enter a final state). Faulting a block causes
buffered messages (uprocessed input messages as well as unoffered output messages) to be lost.
</remarks>
</member>
<member name="M:System.Threading.Tasks.Dataflow.DataflowBlock.FilteredLinkPropagator`1.System#Threading#Tasks#Dataflow#ISourceBlock{T}#LinkTo(System.Threading.Tasks.Dataflow.ITargetBlock{`0},System.Boolean)">
<summary>
Links the <see cref="T:System.Threading.Tasks.Dataflow.ISourceBlock`1"/> to the specified <see cref="T:System.Threading.Tasks.Dataflow.ITargetBlock`1"/>.
</summary><param name="target">
The <see cref="T:System.Threading.Tasks.Dataflow.ITargetBlock`1"/> to which to connect this source.
</param><param name="unlinkAfterOne">
true if the source should unlink from the target after successfully propagating a single message;
otherwise, false to remain connected even after a single message has been propagated.
</param><returns>An IDisposable that, upon calling Dispose, will unlink the source from the target.</returns><exception cref="T:System.ArgumentNullException">
The <paramref name="target"/> is null (Nothing in Visual Basic).
</exception>
</member>
<member name="P:System.Threading.Tasks.Dataflow.DataflowBlock.FilteredLinkPropagator`1.System#Threading#Tasks#Dataflow#IDataflowBlock#Completion">
<summary>
Gets a <see cref="T:System.Threading.Tasks.Task">Task</see> that represents the asynchronous operation and completion of the dataflow block.
</summary><remarks>
A dataflow block is considered completed when it is not currently processing a message and when it has guaranteed that it will not process
any more messages. The returned <see cref="T:System.Threading.Tasks.Task">Task</see> will transition to a completed state when the
associated block has completed. It will transition to the <see cref="T:System.Threading.Tasks.TaskStatus">RanToCompletion</see> state
when the block completes its processing successfully according to the dataflow block’s defined semantics, it will transition to
the <see cref="T:System.Threading.Tasks.TaskStatus">Faulted</see> state when the dataflow block has completed processing prematurely due to an unhandled exception,
and it will transition to the <see cref="T:System.Threading.Tasks.TaskStatus">Canceled</see> state when the dataflow block has completed processing
prematurely due to receiving a cancellation request. If the task completes in the Faulted state, its Exception property will return
an <see cref="T:System.AggregateException"/> containing the one or more exceptions that caused the block to fail.
</remarks>
</member>
<member name="P:System.Threading.Tasks.Dataflow.DataflowBlock.FilteredLinkPropagator`1.DebuggerDisplayContent">
<summary>The data to display in the debugger display attribute.</summary>
</member>
<member name="P:System.Threading.Tasks.Dataflow.DataflowBlock.FilteredLinkPropagator`1.System#Threading#Tasks#Dataflow#Internal#IDebuggerDisplay#Content">
<summary>Gets the data to display in the debugger display attribute for this instance.</summary>
</member>
<member name="T:System.Threading.Tasks.Dataflow.DataflowBlock.FilteredLinkPropagator`1.PredicateContextState">
<summary>Manually closes over state necessary in FilteredLinkPropagator.</summary>
</member>
<member name="F:System.Threading.Tasks.Dataflow.DataflowBlock.FilteredLinkPropagator`1.PredicateContextState.Input">
<summary>The input to be filtered.</summary>
</member>
<member name="F:System.Threading.Tasks.Dataflow.DataflowBlock.FilteredLinkPropagator`1.PredicateContextState.Predicate">
<summary>The predicate function.</summary>
</member>
<member name="F:System.Threading.Tasks.Dataflow.DataflowBlock.FilteredLinkPropagator`1.PredicateContextState.Output">
<summary>The result of the filtering operation.</summary>
</member>
<member name="M:System.Threading.Tasks.Dataflow.DataflowBlock.FilteredLinkPropagator`1.PredicateContextState.#ctor(`0,System.Predicate{`0})">
<summary>Initializes the predicate state.</summary>
<param name="input">The input to be filtered.</param>
<param name="predicate">The predicate function.</param>
</member>
<member name="M:System.Threading.Tasks.Dataflow.DataflowBlock.FilteredLinkPropagator`1.PredicateContextState.Run">
<summary>Runs the predicate function over the input and stores the result into the output.</summary>
</member>
<member name="T:System.Threading.Tasks.Dataflow.DataflowBlock.FilteredLinkPropagator`1.DebugView">
<summary>Provides a debugger type proxy for a filter.</summary>
</member>
<member name="F:System.Threading.Tasks.Dataflow.DataflowBlock.FilteredLinkPropagator`1.DebugView.m_filter">
<summary>The filter.</summary>
</member>
<member name="M:System.Threading.Tasks.Dataflow.DataflowBlock.FilteredLinkPropagator`1.DebugView.#ctor(System.Threading.Tasks.Dataflow.DataflowBlock.FilteredLinkPropagator{`0})">
<summary>Initializes the debug view.</summary>
<param name="filter">The filter to view.</param>
</member>
<member name="P:System.Threading.Tasks.Dataflow.DataflowBlock.FilteredLinkPropagator`1.DebugView.LinkedTarget">
<summary>The linked target for this filter.</summary>
</member>
<member name="P:System.Threading.Tasks.Dataflow.DataflowBlock.FilteredLinkPropagator`1.DebugView.DiscardsMessages">
<summary>Whether the filter is discarding messages.</summary>
</member>
<member name="T:System.Threading.Tasks.Dataflow.DataflowBlock.SendAsyncSource`1">
<summary>
Provides a source used by SendAsync that will buffer a single message and signal when it's been accepted or declined.
</summary>
<remarks>This source must only be passed to a single target, and must only be used once.</remarks>
</member>
<member name="F:System.Threading.Tasks.Dataflow.DataflowBlock.SendAsyncSource`1.m_target">
<summary>The target to offer to.</summary>
</member>
<member name="F:System.Threading.Tasks.Dataflow.DataflowBlock.SendAsyncSource`1.m_messageValue">
<summary>The buffered message.</summary>
</member>
<member name="M:System.Threading.Tasks.Dataflow.DataflowBlock.SendAsyncSource`1.#ctor(System.Threading.Tasks.Dataflow.ITargetBlock{`0},`0)">
<summary>Initializes the source.</summary>
<param name="target">The target to offer to.</param>
<param name="messageValue">The message to offer and buffer.</param>
</member>
<member name="M:System.Threading.Tasks.Dataflow.DataflowBlock.SendAsyncSource`1.Finalize">
<summary>Finalizer that completes the returned task if all references to this source are dropped.</summary>
</member>
<member name="M:System.Threading.Tasks.Dataflow.DataflowBlock.SendAsyncSource`1.CompleteAsAccepted(System.Boolean)">
<summary>Completes the source in an "Accepted" state.</summary>
<param name="runAsync">true to accept asynchronously; false to accept synchronously.</param>
</member>
<member name="M:System.Threading.Tasks.Dataflow.DataflowBlock.SendAsyncSource`1.CompleteAsDeclined(System.Boolean)">
<summary>Completes the source in an "Declined" state.</summary>
<param name="runAsync">true to decline asynchronously; false to decline synchronously.</param>
</member>
<member name="M:System.Threading.Tasks.Dataflow.DataflowBlock.SendAsyncSource`1.CompleteAsFaulted(System.Exception,System.Boolean)">
<summary>Completes the source in faulted state.</summary>
<param name="exception">The exception with which to fault.</param>
<param name="runAsync">true to fault asynchronously; false to fault synchronously.</param>
</member>
<member name="M:System.Threading.Tasks.Dataflow.DataflowBlock.SendAsyncSource`1.RunCompletionAction(System.Action{System.Object},System.Object,System.Boolean)">
<summary>Executes a completion action.</summary>
<param name="completionAction">The action to execute, passed the state.</param>
<param name="completionActionState">The state to pass into the delegate.</param>
<param name="runAsync">true to execute the action asynchronously; false to execute it synchronously.</param>
<remarks>
async should be true if this is being called on a path that has the target on the stack, e.g.
the target is calling to ConsumeMessage. We don't want to block the target indefinitely
with any synchronous continuations off of the returned send async task.
</remarks>
</member>
<member name="M:System.Threading.Tasks.Dataflow.DataflowBlock.SendAsyncSource`1.OfferToTargetAsync">
<summary>Offers the message to the target asynchronously.</summary>
</member>
<member name="M:System.Threading.Tasks.Dataflow.DataflowBlock.SendAsyncSource`1.OfferToTarget">
<summary>Offers the message to the target synchronously.</summary>
</member>
<member name="M:System.Threading.Tasks.Dataflow.DataflowBlock.SendAsyncSource`1.System#Threading#Tasks#Dataflow#ISourceBlock{TOutput}#ConsumeMessage(System.Threading.Tasks.Dataflow.DataflowMessageHeader,System.Threading.Tasks.Dataflow.ITargetBlock{`0},System.Boolean@)">
<summary>Called by the target to consume the buffered message.</summary>
</member>
<member name="M:System.Threading.Tasks.Dataflow.DataflowBlock.SendAsyncSource`1.System#Threading#Tasks#Dataflow#ISourceBlock{TOutput}#ReserveMessage(System.Threading.Tasks.Dataflow.DataflowMessageHeader,System.Threading.Tasks.Dataflow.ITargetBlock{`0})">
<summary>Called by the target to reserve the buffered message.</summary>
</member>
<member name="M:System.Threading.Tasks.Dataflow.DataflowBlock.SendAsyncSource`1.System#Threading#Tasks#Dataflow#ISourceBlock{TOutput}#ReleaseReservation(System.Threading.Tasks.Dataflow.DataflowMessageHeader,System.Threading.Tasks.Dataflow.ITargetBlock{`0})">
<summary>Called by the target to release a reservation on the buffered message.</summary>
</member>
<member name="M:System.Threading.Tasks.Dataflow.DataflowBlock.SendAsyncSource`1.System#Threading#Tasks#Dataflow#ISourceBlock{TOutput}#LinkTo(System.Threading.Tasks.Dataflow.ITargetBlock{`0},System.Boolean)">
<summary>Not supported.</summary>
</member>
<member name="M:System.Threading.Tasks.Dataflow.DataflowBlock.SendAsyncSource`1.System#Threading#Tasks#Dataflow#IDataflowBlock#Complete">
<summary>Not supported.</summary>
</member>
<member name="M:System.Threading.Tasks.Dataflow.DataflowBlock.SendAsyncSource`1.System#Threading#Tasks#Dataflow#IDataflowBlock#Fault(System.Exception)">
<summary>
Causes the <see cref="T:System.Threading.Tasks.Dataflow.IDataflowBlock"/> to complete in a
<see cref="F:System.Threading.Tasks.TaskStatus.Faulted"/> state.
</summary><param name="exception">The <see cref="T:System.Exception"/> that caused the faulting.</param><exception cref="T:System.ArgumentNullException">
The <paramref name="exception"/> is null (Nothing in Visual Basic).
</exception><remarks>
After Fault has been called on a dataflow block, that block will complete
(such that its <see cref="M:Completion"/> task will enter a final state). Faulting a block causes
buffered messages (uprocessed input messages as well as unoffered output messages) to be lost.
</remarks>
</member>
<member name="P:System.Threading.Tasks.Dataflow.DataflowBlock.SendAsyncSource`1.System#Threading#Tasks#Dataflow#IDataflowBlock#Completion">
<summary>Not supported.</summary>
</member>
<member name="P:System.Threading.Tasks.Dataflow.DataflowBlock.SendAsyncSource`1.DebuggerDisplayContent">
<summary>The data to display in the debugger display attribute.</summary>
</member>
<member name="P:System.Threading.Tasks.Dataflow.DataflowBlock.SendAsyncSource`1.System#Threading#Tasks#Dataflow#Internal#IDebuggerDisplay#Content">
<summary>Gets the data to display in the debugger display attribute for this instance.</summary>
</member>
<member name="T:System.Threading.Tasks.Dataflow.DataflowBlock.SendAsyncSource`1.DebugView">
<summary>Provides a debugger type proxy for the source.</summary>
</member>
<member name="F:System.Threading.Tasks.Dataflow.DataflowBlock.SendAsyncSource`1.DebugView.m_source">
<summary>The source.</summary>
</member>
<member name="M:System.Threading.Tasks.Dataflow.DataflowBlock.SendAsyncSource`1.DebugView.#ctor(System.Threading.Tasks.Dataflow.DataflowBlock.SendAsyncSource{`0})">
<summary>Initializes the debug view.</summary>
<param name="source">The source to view.</param>
</member>
<member name="P:System.Threading.Tasks.Dataflow.DataflowBlock.SendAsyncSource`1.DebugView.Target">
<summary>The target to which we're linked.</summary>
</member>
<member name="P:System.Threading.Tasks.Dataflow.DataflowBlock.SendAsyncSource`1.DebugView.Message">
<summary>The message buffered by the source.</summary>