ActionBlock<TInput>.ITargetBlock<TInput>.OfferMessage Método
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
Oferece uma mensagem ao bloco de fluxo de dados e dá-lhe a oportunidade de consumir ou adiar a mensagem.
virtual System::Threading::Tasks::Dataflow::DataflowMessageStatus System.Threading.Tasks.Dataflow.ITargetBlock<TInput>.OfferMessage(System::Threading::Tasks::Dataflow::DataflowMessageHeader messageHeader, TInput messageValue, System::Threading::Tasks::Dataflow::ISourceBlock<TInput> ^ source, bool consumeToAccept) = System::Threading::Tasks::Dataflow::ITargetBlock<TInput>::OfferMessage;
System.Threading.Tasks.Dataflow.DataflowMessageStatus ITargetBlock<TInput>.OfferMessage(System.Threading.Tasks.Dataflow.DataflowMessageHeader messageHeader, TInput messageValue, System.Threading.Tasks.Dataflow.ISourceBlock<TInput> source, bool consumeToAccept);
abstract member System.Threading.Tasks.Dataflow.ITargetBlock<TInput>.OfferMessage : System.Threading.Tasks.Dataflow.DataflowMessageHeader * 'Input * System.Threading.Tasks.Dataflow.ISourceBlock<'Input> * bool -> System.Threading.Tasks.Dataflow.DataflowMessageStatus
override this.System.Threading.Tasks.Dataflow.ITargetBlock<TInput>.OfferMessage : System.Threading.Tasks.Dataflow.DataflowMessageHeader * 'Input * System.Threading.Tasks.Dataflow.ISourceBlock<'Input> * bool -> System.Threading.Tasks.Dataflow.DataflowMessageStatus
Function OfferMessage (messageHeader As DataflowMessageHeader, messageValue As TInput, source As ISourceBlock(Of TInput), consumeToAccept As Boolean) As DataflowMessageStatus Implements ITargetBlock(Of TInput).OfferMessage
Parâmetros
- messageHeader
- DataflowMessageHeader
O cabeçalho da mensagem oferecida.
- messageValue
- TInput
O valor da mensagem apresentada.
- source
- ISourceBlock<TInput>
O bloco de fluxo de dados que está a oferecer a mensagem. Isto pode ser null.
- consumeToAccept
- Boolean
true instruir o destino a chamar ConsumeMessage(DataflowMessageHeader, ITargetBlock<TOutput>, Boolean) sincronizadamente durante a chamada para OfferMessage(DataflowMessageHeader, TInput, ISourceBlock<TInput>, Boolean), antes de devolver Accepted, para consumir a mensagem; caso contrário, false.
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 é devolvido.
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.
Implementações
Exceções
messageHeader não é válido.
-ou- consumeToAccept pode ser true apenas se for fornecido com um não-nulo source.