ITargetBlock<TInput>.OfferMessage Método
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
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.