Compartir a través de


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

Definición

Ofrece un mensaje a ITargetBlock<TInput>, dando al destino la oportunidad de usar o de posponer el mensaje.

 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

Instancia de DataflowMessageHeader que representa el encabezado del mensaje que se va a ofrecer.

messageValue
TInput

Valor del mensaje que se va a ofrecer.

source
ISourceBlock<TInput>

ISourceBlock<TOutput> que ofrece el mensaje. Puede ser null.

consumeToAccept
Boolean

true si el destino debe llamar a ConsumeMessage(DataflowMessageHeader, ITargetBlock<TOutput>, Boolean) sincrónicamente durante la llamada al ITargetBlock<TInput>.OfferMessage(DataflowMessageHeader, TInput, ISourceBlock<TInput>, Boolean), antes de devolver Accepted, para usar el mensaje.

Devoluciones

DataflowMessageStatus

Estado del mensaje ofrecido. Si el destino aceptó el mensaje, se devuelve Accepted y el origen ya no debe usar más el mensaje ofrecido, ya que ahora es propiedad del destino. Si el destino pospuso el mensaje, se devuelve Postponed como notificación de que el destino puede intentar más adelante consumir o reservar el mensaje; mientras tanto, el origen todavía posee el mensaje y puede ofrecerlo a otros bloques.

Si el destino se hubiera pospuesto de otra forma, pero el origen era null, se devolvería Declined en su lugar.

Si el destino intentó aceptar el mensaje pero no pudo hacerlo porque el origen entrega el mensaje a otro destino o lo descarta simplemente, se devuelve NotAvailable.

Si el destino eligió no aceptar el mensaje, se devuelve Declined. Si el destino eligió no aceptar el mensaje y nunca aceptará otro mensaje de este origen, se devuelve DecliningPermanently.

Implementaciones

Excepciones

messageHeader no es válido.

O bien, consumeToAccept solo puede ser true si se le proporciona un valor source distinto de NULL.

Se aplica a