Export (0) Print
Expand All

ActionBlock<TInput>.ITargetBlock<TInput>.OfferMessage Method

.NET Framework 4.5

Offers a message to the dataflow block, and gives it the opportunity to consume or postpone the message.

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

DataflowMessageStatus ITargetBlock<TInput>.OfferMessage(
	DataflowMessageHeader messageHeader,
	TInput messageValue,
	ISourceBlock<TInput> source,
	bool consumeToAccept
)

Parameters

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

The header of the message being offered.

messageValue
Type: TInput

The value of the message being offered.

source
Type: System.Threading.Tasks.Dataflow.ISourceBlock<TInput>

The dataflow block that is offering the message. This may be null.

consumeToAccept
Type: System.Boolean

true to instruct the target to call ConsumeMessage synchronously during the call to OfferMessage, prior to returning Accepted, in order to consume the message.

Return Value

Type: System.Threading.Tasks.Dataflow.DataflowMessageStatus
The status of the offered message. If the message was accepted by the target, Accepted is returned, and the source should no longer use the offered message, because it is now owned by the target. If the message was postponed by the target, 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 message, but source was null, Declined is 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, NotAvailable is returned.
If the target chose not to accept the message, Declined is returned. If the target chose not to accept the message and will never accept another message from this source, DecliningPermanently is returned.

Implements

ITargetBlock<TInput>.OfferMessage(DataflowMessageHeader, TInput, ISourceBlock<TInput>, Boolean)

ExceptionCondition
ArgumentException

messageHeader is not valid.

-or-consumeToAccept may be true only if provided with a non-null source.

.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