BufferBlock<T>.ISourceBlock<T>.ConsumeMessage Method
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
Called by a linked ITargetBlock<TInput> to accept and consume a DataflowMessageHeader previously offered by this ISourceBlock<TOutput>.
virtual T System.Threading.Tasks.Dataflow.ISourceBlock<T>.ConsumeMessage(System::Threading::Tasks::Dataflow::DataflowMessageHeader messageHeader, System::Threading::Tasks::Dataflow::ITargetBlock<T> ^ target, [Runtime::InteropServices::Out] bool % messageConsumed) = System::Threading::Tasks::Dataflow::ISourceBlock<T>::ConsumeMessage;
T ISourceBlock<T>.ConsumeMessage (System.Threading.Tasks.Dataflow.DataflowMessageHeader messageHeader, System.Threading.Tasks.Dataflow.ITargetBlock<T> target, out bool messageConsumed);
abstract member System.Threading.Tasks.Dataflow.ISourceBlock<T>.ConsumeMessage : System.Threading.Tasks.Dataflow.DataflowMessageHeader * System.Threading.Tasks.Dataflow.ITargetBlock<'T> * bool -> 'T
override this.System.Threading.Tasks.Dataflow.ISourceBlock<T>.ConsumeMessage : System.Threading.Tasks.Dataflow.DataflowMessageHeader * System.Threading.Tasks.Dataflow.ITargetBlock<'T> * bool -> 'T
Function ConsumeMessage (messageHeader As DataflowMessageHeader, target As ITargetBlock(Of T), ByRef messageConsumed As Boolean) As T Implements ISourceBlock(Of T).ConsumeMessage
Parameters
- messageHeader
- DataflowMessageHeader
The DataflowMessageHeader of the message being consumed.
- target
- ITargetBlock<T>
The ITargetBlock<TInput> consuming the message.
- messageConsumed
- Boolean
true
if the message was successfully consumed; otherwise, false
.
Returns
The value of the consumed message. This may correspond to a different DataflowMessageHeader instance than was previously reserved and passed as the messageHeader
to ConsumeMessage(DataflowMessageHeader, ITargetBlock<TOutput>, Boolean). The consuming ITargetBlock<TInput> must use the returned value instead of the value passed as messageValue
through OfferMessage(DataflowMessageHeader, TInput, ISourceBlock<TInput>, Boolean).
If the message requested is not available, the return value will be null
.
Implements
Exceptions
The messageHeader
is not valid.
The target
is null
.
Remarks
Only ITargetBlock<TInput> instances linked to this ISourceBlock<TOutput> instance may use ConsumeMessage, and it must only be used to consume DataflowMessageHeader instances previously offered by this source to the target.
Applies to
.NET