Share via


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

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

戻り値

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

ターゲットがメッセージを遅延するはずだったのに、ソースが null だった場合は、Declined が代わりに返されます。

ターゲットがメッセージを受け入れようとしたが、ソースが別のターゲットにメッセージを配信したか、単純に破棄したため、受け入れることができなかった場合は、NotAvailable が返されます。

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

例外

messageHeader が有効ではありません。

または、consumeToAccept は、source の値が null 以外である場合にのみ true にすることができます。

適用対象