ITargetBlock<TInput>.OfferMessage Método

Definição

Oferece uma mensagem ao ITargetBlock<TInput>, dando ao alvo 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 oferecida.

messageValue
TInput

O valor da mensagem apresentada.

source
ISourceBlock<TInput>

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

consumeToAccept
Boolean

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

Devoluções

O estado da mensagem oferecida. Se a mensagem foi aceite pelo alvo, Accepted for devolvida e a fonte deixar de usar a mensagem oferecida, porque agora pertence ao alvo. Se a mensagem foi adiada pelo alvo, Postponed é devolvida como notificação de que o alvo pode posteriormente tentar consumir ou reservar a mensagem; entretanto, a fonte ainda detém a mensagem e pode oferecê-la a outros blocos.

Se o alvo teria adiado a mensagem, mas a origem era null, Declined é devolvida em vez disso.

Se o alvo tentou aceitar a mensagem mas a perdeu devido à origem entregar a mensagem a outro alvo ou simplesmente a descartar, NotAvailable é devolvido.

Se o alvo optar por não aceitar a mensagem, Declined é devolvido. Se o alvo optar por não aceitar a mensagem e nunca aceitar outra mensagem desta fonte, DecliningPermanently é devolvido.

Exceções

O messageHeader não é válido.

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

Aplica-se a