ITargetBlock<TInput>.OfferMessage Método

Definição

Oferece uma mensagem para o ITargetBlock<TInput>destino, dando ao destino a oportunidade de consumir ou adiar a mensagem.

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

Parâmetros

messageHeader
DataflowMessageHeader

Uma DataflowMessageHeader instância que representa o cabeçalho da mensagem que está sendo oferecida.

messageValue
TInput

O valor da mensagem que está sendo oferecida.

source
ISourceBlock<TInput>

A ISourceBlock<TOutput> oferta da mensagem. Isso pode ser nulo.

consumeToAccept
Boolean

Defina para true instruir o destino a chamar ConsumeMessage(DataflowMessageHeader, ITargetBlock<TOutput>, Boolean) de forma síncrona durante a chamada para OfferMessage(DataflowMessageHeader, TInput, ISourceBlock<TInput>, Boolean), antes do Acceptedretorno, para consumir a mensagem.

Retornos

O status da mensagem oferecida. Se a mensagem foi aceita pelo destino, Accepted é retornada e a origem não deve mais usar a mensagem oferecida, pois agora pertence ao destino. Se a mensagem tiver sido adiada pelo destino, Postponed será retornada como uma notificação de que o destino poderá tentar consumir ou reservar a mensagem posteriormente; enquanto isso, a origem ainda é proprietária da mensagem e pode oferecê-la a outros blocos.

Se o destino tivesse adiado a mensagem, mas a origem fosse null, em vez disso, Declined será retornada.

Se o destino tentou aceitar a mensagem, mas a perdeu devido à origem entregando a mensagem para outro destino ou simplesmente descartando-a, NotAvailable será retornada.

Se o destino optar por não aceitar a mensagem, Declined será retornado. Se o destino optar por não aceitar a mensagem e nunca aceitar outra mensagem dessa fonte, DecliningPermanently será retornado.

Exceções

O messageHeader não é válido.

-ou- consumeToAccept só poderá ser verdadeiro se for fornecido com um não nulo source.

Aplica-se a