BufferBlock<T>.ITargetBlock<T>.OfferMessage Metoda
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Nabídne zprávu pro ITargetBlock<TInput>, která cílovému cíli umožní zprávu spotřebovat nebo odložit.
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
Instance DataflowMessageHeader , která představuje záhlaví nabízené zprávy.
- messageValue
- T
Hodnota nabízené zprávy.
- source
- ISourceBlock<T>
Nabízející ISourceBlock<TOutput> zprávu. Může to být null
.
- consumeToAccept
- Boolean
Nastavte na hodnotu true, pokud chcete dát cíli pokyn, aby během volání OfferMessage(DataflowMessageHeader, TInput, ISourceBlock<TInput>, Boolean)metody před vrácením Acceptedvolal ConsumeMessage(DataflowMessageHeader, ITargetBlock<TOutput>, Boolean) synchronně, aby mohl zprávu využívat.
Návraty
Stav nabízené zprávy Pokud byla zpráva přijata cílem, Accepted vrátí se a zdroj by již neměl 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 využít 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 vrátí se místo toho.
Pokud se cíl pokusil zprávu přijmout, ale zmeškal ji kvůli tomu, že zdroj zprávu doručil do jiného cíle nebo ji jednoduše zahodil, NotAvailable vrátí se.
Pokud se cíl rozhodl zprávu nepřijmout, Declined vrátí se. Pokud se cíl rozhodl zprávu nepřijmout a nikdy nepřijme jinou zprávu z tohoto zdroje, DecliningPermanently vrátí se.
Implementuje
Výjimky
Hodnota messageHeader
není platná.
Parametr -nebo- consumeToAccept
může mít hodnotu true pouze v případě, že je zadána hodnota , která není null source
.