ITargetBlock<TInput>.OfferMessage Metoda

Definice

Nabízí zprávu ITargetBlock<TInput>, která cíli dává příležitost využívat nebo odložit zprávu.

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 to být null.

consumeToAccept
Boolean

Nastavte na pokyn true cíli, aby se během volání ConsumeMessage(DataflowMessageHeader, ITargetBlock<TOutput>, Boolean), před návratem OfferMessage(DataflowMessageHeader, TInput, ISourceBlock<TInput>, Boolean), synchronně volalAccepted, aby mohl zprávu využívat.

Návraty

Stav nabízené zprávy. Pokud cíl přijme zprávu, Accepted vrátí se a zdroj by už neměl nabízenou zprávu používat, protože je teď 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 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 zdroj byl null, Declined je 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řijme, Declined vrátí se. Pokud se cíl rozhodl zprávu nepřijme a nikdy nepřijme jinou zprávu z tohoto zdroje, DecliningPermanently vrátí se.

Výjimky

Hodnota messageHeader není platná.

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

Platí pro