TransformManyBlock<TInput,TOutput>.ITargetBlock<TInput>.OfferMessage 方法

定义

ITargetBlock<TInput> 提供消息,向目标提供使用和延迟消息的机会。

 virtual System::Threading::Tasks::Dataflow::DataflowMessageStatus System.Threading.Tasks.Dataflow.ITargetBlock<TInput>.OfferMessage(System::Threading::Tasks::Dataflow::DataflowMessageHeader messageHeader, TInput messageValue, System::Threading::Tasks::Dataflow::ISourceBlock<TInput> ^ source, bool consumeToAccept) = System::Threading::Tasks::Dataflow::ITargetBlock<TInput>::OfferMessage;
System.Threading.Tasks.Dataflow.DataflowMessageStatus ITargetBlock<TInput>.OfferMessage (System.Threading.Tasks.Dataflow.DataflowMessageHeader messageHeader, TInput messageValue, System.Threading.Tasks.Dataflow.ISourceBlock<TInput> source, bool consumeToAccept);
abstract member System.Threading.Tasks.Dataflow.ITargetBlock<TInput>.OfferMessage : System.Threading.Tasks.Dataflow.DataflowMessageHeader * 'Input * System.Threading.Tasks.Dataflow.ISourceBlock<'Input> * bool -> System.Threading.Tasks.Dataflow.DataflowMessageStatus
override this.System.Threading.Tasks.Dataflow.ITargetBlock<TInput>.OfferMessage : System.Threading.Tasks.Dataflow.DataflowMessageHeader * 'Input * System.Threading.Tasks.Dataflow.ISourceBlock<'Input> * bool -> System.Threading.Tasks.Dataflow.DataflowMessageStatus
Function OfferMessage (messageHeader As DataflowMessageHeader, messageValue As TInput, source As ISourceBlock(Of TInput), consumeToAccept As Boolean) As DataflowMessageStatus Implements ITargetBlock(Of TInput).OfferMessage

参数

messageHeader
DataflowMessageHeader

表示要提供的消息的标头的 DataflowMessageHeader 实例。

messageValue
TInput

要提供的消息值。

source
ISourceBlock<TInput>

提供消息的 ISourceBlock<TOutput>。 这可能是 null

consumeToAccept
Boolean

为使用此消息,目标必须于返回 ConsumeMessage(DataflowMessageHeader, ITargetBlock<TOutput>, Boolean) 前在进行对 ITargetBlock<TInput> 调用间同步调用 Accepted,则为 true

返回

DataflowMessageStatus

所提供消息的状态。 如果目标接受该消息,则将返回 Accepted,并且源不应再使用提供的消息,因为它现在归目标所有。 如果消息因该目标延迟,则将以通知的形式返回 Postponed,该通知是目标稍后可能会尝试使用或保留消息的通知;同时,源仍拥有消息并将其提供给其他块。

如果目标被推迟,但源为 null,则返回 Declined

如果尝试了接受此则消息但由于将消息交付给另一目标或放弃该消息的源而错过该消息,则将返回 NotAvailable

如果目标选择不接受消息,则将返回 Declined。 如果源选择不接受该消息并将从不从此源接受另一则消息,则将返回 DecliningPermanently

实现

例外

messageHeader 无效。

  • 或 - 如果使用非 null consumeToAccept 提供,则 source 可能仅为 true。

适用于