ITargetBlock<TInput>.OfferMessage メソッド

定義

ITargetBlock<TInput>にメッセージを提供し、ターゲットにメッセージを使用または延期する機会を提供します。

public System.Threading.Tasks.Dataflow.DataflowMessageStatus OfferMessage(System.Threading.Tasks.Dataflow.DataflowMessageHeader messageHeader, TInput messageValue, System.Threading.Tasks.Dataflow.ISourceBlock<in TInput> source, bool consumeToAccept);
public System.Threading.Tasks.Dataflow.DataflowMessageStatus OfferMessage(System.Threading.Tasks.Dataflow.DataflowMessageHeader messageHeader, TInput messageValue, System.Threading.Tasks.Dataflow.ISourceBlock<in TInput>? source, bool consumeToAccept);
abstract member OfferMessage : System.Threading.Tasks.Dataflow.DataflowMessageHeader * 'Input * System.Threading.Tasks.Dataflow.ISourceBlock<'Input> * bool -> System.Threading.Tasks.Dataflow.DataflowMessageStatus
Public Function OfferMessage (messageHeader As DataflowMessageHeader, messageValue As TInput, source As ISourceBlock(Of In TInput), consumeToAccept As Boolean) As DataflowMessageStatus

パラメーター

messageHeader
DataflowMessageHeader

提供されるメッセージのヘッダーを表す DataflowMessageHeader インスタンス。

messageValue
TInput

提供されるメッセージの値。

source
ISourceBlock<TInput>

メッセージを提供する ISourceBlock<TOutput> 。 これは null である可能性があります。

consumeToAccept
Boolean

メッセージを使用するために、trueを返す前に、ConsumeMessage(DataflowMessageHeader, ITargetBlock<TOutput>, Boolean)の呼び出し中に同期的にOfferMessage(DataflowMessageHeader, TInput, ISourceBlock<TInput>, Boolean)を呼び出すようにターゲットに指示するAcceptedに設定します。

返品

提供されたメッセージの状態。 メッセージがターゲットによって受け入れられた場合、 Accepted が返され、ソースは提供されたメッセージを使用しなくなります。これは、ターゲットが所有しているためです。 メッセージがターゲットによって延期された場合、ターゲットが後でメッセージの使用または予約を試みる可能性があることを示す通知として Postponed が返されます。それまでの間、ソースはメッセージを所有し、他のブロックに提供できます。

ターゲットがそれ以外の場合はメッセージを延期したが、ソースが nullされた場合は、代わりに Declined が返されます。

ターゲットがメッセージを受け入れようとしたが、ソースがメッセージを別のターゲットに配信したり、単に破棄したりしたためにメッセージを見逃した場合は、 NotAvailable が返されます。

ターゲットがメッセージを受け入れないことを選択した場合は、 Declined が返されます。 ターゲットがメッセージを受け入れないことを選択し、このソースから別のメッセージを受け入れない場合は、 DecliningPermanently が返されます。

例外

messageHeaderが無効です。

または、 consumeToAccept は、null 以外の sourceを指定した場合にのみ true にすることができます。

適用対象