Export (0) Print
Expand All

JoinBlock<T1, T2>.ISourceBlock<Tuple<T1, T2>>.ReserveMessage Method

.NET Framework 4.5

Called by a linked ITargetBlock<TInput> to reserve a previously offered DataflowMessageHeader by this ISourceBlock<TOutput>.

Namespace:  System.Threading.Tasks.Dataflow
Assembly:  System.Threading.Tasks.Dataflow (in System.Threading.Tasks.Dataflow.dll)

bool ISourceBlock<Tuple<T1, T2>>.ReserveMessage(
	DataflowMessageHeader messageHeader,
	ITargetBlock<Tuple<T1, T2>> target
)

Parameters

messageHeader
Type: System.Threading.Tasks.Dataflow.DataflowMessageHeader

The DataflowMessageHeader of the message being reserved.

target
Type: System.Threading.Tasks.Dataflow.ITargetBlock<Tuple<T1, T2>>

The ITargetBlock<TInput> reserving the message.

Return Value

Type: System.Boolean
true if the message was successfully reserved; otherwise, false.

Implements

ISourceBlock<TOutput>.ReserveMessage(DataflowMessageHeader, ITargetBlock<TOutput>)

ExceptionCondition
ArgumentException

The messageHeader is not valid.

ArgumentNullException

The target is null.

Only ITargetBlock<TInput> instances linked to this ISourceBlock<TOutput> instance may use ReserveMessage, and it must only be used to reserve DataflowMessageHeader instances previously offered by this source to the target.

If true is returned, the ITargetBlock<TInput> must subsequently call either ConsumeMessage or ReleaseReservation for this message. Failure to do so may result in the source being unable to propagate any further messages to this or other targets.

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.

.NET Framework

Supported in: 4.5

Portable Class Library

Supported in: Portable Class Library

Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (Server Core Role not supported), Windows Server 2008 R2 (Server Core Role supported with SP1 or later; Itanium not supported)

The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.

Show:
© 2014 Microsoft