TransformManyBlock<TInput,TOutput>.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ízí zprávu ITargetBlock<TInput>, která cílovému cíli dává příležitost ke zpracování nebo odložení zprávy.
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
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. To může být null
.
- consumeToAccept
- Boolean
true
pokud cíl musí během hovoru volat ConsumeMessage(DataflowMessageHeader, ITargetBlock<TOutput>, Boolean) ITargetBlock<TInput>synchronně , před návratem Accepted, aby bylo možné zprávu spotřebovat.
Návraty
Stav nabízené zprávy. Pokud byla zpráva přijata cílem, Accepted je vrácena a zdroj by už neměl používat nabízenou zprávu, protože je nyní vlastněn 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 použí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, ale zdroj byl null
, Declined je místo toho vrácen.
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 nepř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
Tato messageHeader
hodnota není platná.
-nebo-
consumeToAccept
může být true pouze v případě, že je k dispozici s hodnotou null source
.