Sdílet prostřednictvím


WriteOnceBlock<T>.ITargetBlock<T>.OfferMessage Metoda

Definice

Nabízí zprávu ITargetBlock<TInput>, která dává cíli možnost využívat nebo odložit zprávu.

 virtual System::Threading::Tasks::Dataflow::DataflowMessageStatus System.Threading.Tasks.Dataflow.ITargetBlock<T>.OfferMessage(System::Threading::Tasks::Dataflow::DataflowMessageHeader messageHeader, T messageValue, System::Threading::Tasks::Dataflow::ISourceBlock<T> ^ source, bool consumeToAccept) = System::Threading::Tasks::Dataflow::ITargetBlock<T>::OfferMessage;
System.Threading.Tasks.Dataflow.DataflowMessageStatus ITargetBlock<T>.OfferMessage (System.Threading.Tasks.Dataflow.DataflowMessageHeader messageHeader, T messageValue, System.Threading.Tasks.Dataflow.ISourceBlock<T> source, bool consumeToAccept);
abstract member System.Threading.Tasks.Dataflow.ITargetBlock<T>.OfferMessage : System.Threading.Tasks.Dataflow.DataflowMessageHeader * 'T * System.Threading.Tasks.Dataflow.ISourceBlock<'T> * bool -> System.Threading.Tasks.Dataflow.DataflowMessageStatus
override this.System.Threading.Tasks.Dataflow.ITargetBlock<T>.OfferMessage : System.Threading.Tasks.Dataflow.DataflowMessageHeader * 'T * System.Threading.Tasks.Dataflow.ISourceBlock<'T> * bool -> System.Threading.Tasks.Dataflow.DataflowMessageStatus
Function OfferMessage (messageHeader As DataflowMessageHeader, messageValue As T, source As ISourceBlock(Of T), consumeToAccept As Boolean) As DataflowMessageStatus Implements ITargetBlock(Of T).OfferMessage

Parametry

messageHeader
DataflowMessageHeader

DataflowMessageHeader Instance, která představuje záhlaví nabízené zprávy.

messageValue
T

Hodnota nabízené zprávy.

source
ISourceBlock<T>

Nabídka ISourceBlock<TOutput> zprávy. To může být null.

consumeToAccept
Boolean

Pokud chcete zprávu využívat, nastavte ji taktrue, aby se cíl při volání OfferMessage(DataflowMessageHeader, TInput, ISourceBlock<TInput>, Boolean)synchronně volal ConsumeMessage(DataflowMessageHeader, ITargetBlock<TOutput>, Boolean) před návratemAccepted.

Návraty

DataflowMessageStatus

Stav nabízené zprávy Pokud byla zpráva přijata cílem, Accepted vrátí se a zdroj by už neměl tuto nabízenou zprávu používat, protože je nyní vlastníkem cíle. Pokud cíl zprávu odložil, vrátí se jako oznámení, Postponed že se cíl může později pokusit zprávu spotřebovat nebo rezervovat. Mezitím zdroj zprávu stále vlastní a může ji nabídnout jiným blokům.

Pokud by cíl jinak odložil zprávu, ale source byla null, Declined je vrácena.

Pokud se cíl pokusil zprávu přijmout, ale zmeškal ji kvůli zdroji, který zprávu doručuje do jiného cíle nebo ji jednoduše zahodí, NotAvailable vrátí se.

Pokud se cíl rozhodl zprávu přijmout, Declined vrátí se. Pokud se cíl rozhodl zprávu přijmout a nikdy nepřijme jinou zprávu z tohoto zdroje, DecliningPermanently vrátí se.

Implementuje

Výjimky

Není messageHeader platný.

-nebo- consumeToAccept může být true pouze v případě, že je k dispozici s hodnotou non-null source.

Platí pro