Compartilhar via


TransformBlock<TInput,TOutput>.ITargetBlock<TInput>.OfferMessage Método

Definição

Oferece uma mensagem para o ITargetBlock<TInput>, que fornece ao destino 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

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

messageValue
TInput

O valor da mensagem que está sendo oferecida.

source
ISourceBlock<TInput>

O ISourceBlock<TOutput> que oferece a mensagem. Isso pode ser null.

consumeToAccept
Boolean

true se o destino precisa chamar ConsumeMessage(DataflowMessageHeader, ITargetBlock<TOutput>, Boolean) de forma síncrona durante a chamada para ITargetBlock<TInput>.OfferMessage(DataflowMessageHeader, TInput, ISourceBlock<TInput>, Boolean), antes de retornar Accepted para consumir a mensagem.

Retornos

DataflowMessageStatus

O status da mensagem oferecida. Se a mensagem foi aceita pelo destino, Accepted é retornado e a fonte não deve mais usar a mensagem oferecida, porque agora ela é definida pelo destino. Se a mensagem foi adiada pelo destino, Postponed é retornado como uma notificação de que o destino pode tentar consumir ou reservar a mensagem mais tarde; enquanto isso, a fonte ainda tem a mensagem e pode oferecê-la aos outros blocos.

Se o destino teria sido adiado, mas a fonte era null, Declined é retornado em vez disso.

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

Se o destino optou por não aceitar a mensagem, Declined é retornado. Se o destino optou por não aceitar a mensagem e nunca aceitar outra mensagem desta fonte, DecliningPermanently é retornado.

Implementações

Exceções

O messageHeader não é válido.

-ou- consumeToAccept poderá ser verdadeiro somente se receber um source não nulo.

Aplica-se a