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 может быть истинным только в том случае, если указано ненулевое sourceзначение.

Применяется к