ITargetBlock<TInput>.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 do objektu ITargetBlock<TInput>, který dává cíli příležitost zprávu spotřebovat nebo odložit.
public System.Threading.Tasks.Dataflow.DataflowMessageStatus OfferMessage (System.Threading.Tasks.Dataflow.DataflowMessageHeader messageHeader, TInput messageValue, System.Threading.Tasks.Dataflow.ISourceBlock<in TInput> source, bool consumeToAccept);
public System.Threading.Tasks.Dataflow.DataflowMessageStatus OfferMessage (System.Threading.Tasks.Dataflow.DataflowMessageHeader messageHeader, TInput messageValue, System.Threading.Tasks.Dataflow.ISourceBlock<in TInput>? source, bool consumeToAccept);
abstract member OfferMessage : System.Threading.Tasks.Dataflow.DataflowMessageHeader * 'Input * System.Threading.Tasks.Dataflow.ISourceBlock<'Input> * bool -> System.Threading.Tasks.Dataflow.DataflowMessageStatus
Public Function OfferMessage (messageHeader As DataflowMessageHeader, messageValue As TInput, source As ISourceBlock(Of In TInput), consumeToAccept As Boolean) As DataflowMessageStatus
Parametry
- messageHeader
- DataflowMessageHeader
Instance DataflowMessageHeader , která představuje záhlaví nabízené zprávy.
- messageValue
- TInput
Hodnota nabízené zprávy.
- source
- ISourceBlock<TInput>
Nabídka ISourceBlock<TOutput> zprávy. Může mít hodnotu null.
- consumeToAccept
- Boolean
Nastavte na na true
, aby cíl volal ConsumeMessage(DataflowMessageHeader, ITargetBlock<TOutput>, Boolean) synchronně během volání OfferMessage(DataflowMessageHeader, TInput, ISourceBlock<TInput>, Boolean), před návratem Accepted, aby se zpráva spotřebovává.
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ěna cílem. 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 stále vlastní zprávu a může ji nabídnout jiným blokům.
Pokud by cíl jinak odložil zprávu, ale zdroj byl 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 další zprávu z tohoto zdroje, DecliningPermanently vrátí se.
Výjimky
Hodnota messageHeader
není platná.
Hodnota -or- consumeToAccept
může být true pouze v případě, že je k dispozici hodnota , která není null source
.