ActionBlock<TInput>.ITargetBlock<TInput>.OfferMessage Método
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Proporciona un mensaje para el bloque de flujo de datos y le ofrece la posibilidad de utilizarlo o posponerlo.
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
Encabezado del mensaje que se va a ofrecer.
- messageValue
- TInput
Valor del mensaje que se va a ofrecer.
- source
- ISourceBlock<TInput>
Bloque de flujo de datos que ofrece el mensaje. Puede ser null
.
- consumeToAccept
- Boolean
true
para indicar al destino que llama a ConsumeMessage(DataflowMessageHeader, ITargetBlock<TOutput>, Boolean) de manera sincrónica durante la llamada a OfferMessage(DataflowMessageHeader, TInput, ISourceBlock<TInput>, Boolean), antes de devolver Accepted, para consumir el mensaje; en caso contrario, false
.
Devoluciones
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 hubiera pospuesto de otra forma el mensaje, pero el origen fuera null
, se devuelve Declined.
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
puede ser true
solo si se proporciona un valor source
que no es NULL.