Udostępnij za pośrednictwem


ActionBlock<TInput>.ITargetBlock<TInput>.OfferMessage Metoda

Definicja

Oferuje komunikat do bloku przepływu danych i daje mu możliwość korzystania lub odroczenia komunikatu.

 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

Nagłówek oferowanej wiadomości.

messageValue
TInput

Wartość oferowanego komunikatu.

source
ISourceBlock<TInput>

Blok przepływu danych, który oferuje komunikat. Może to być null.

consumeToAccept
Boolean

truew celu poinstruowania elementu docelowego, aby wywołać ConsumeMessage(DataflowMessageHeader, ITargetBlock<TOutput>, Boolean) synchronicznie podczas wywołania metody OfferMessage(DataflowMessageHeader, TInput, ISourceBlock<TInput>, Boolean), przed zwróceniem Acceptedpolecenia , w celu korzystania z komunikatu; w przeciwnym razie . false

Zwraca

Stan oferowanej wiadomości. Jeśli komunikat został zaakceptowany przez element docelowy, Accepted zostanie zwrócony, a źródło nie powinno już używać oferowanego komunikatu, ponieważ jest teraz własnością obiektu docelowego. Jeśli wiadomość została odroczona przez obiekt docelowy, Postponed zostanie zwrócona jako powiadomienie, że docelowy element docelowy może później podjąć próbę użycia lub zarezerwowania wiadomości; w międzyczasie źródło nadal jest właścicielem komunikatu i może zaoferować go innym blokom.

Jeśli element docelowy w przeciwnym razie odroczyłby komunikat, ale źródło było nullDeclined zwracane.

Jeśli element docelowy próbował zaakceptować komunikat, ale nie został on pominięty ze względu na źródło dostarczające komunikat do innego obiektu docelowego lub po prostu go odrzucić, NotAvailable jest zwracany.

Jeśli element docelowy nie zaakceptował wiadomości, Declined zostanie zwrócony. Jeśli element docelowy nie zaakceptował wiadomości i nigdy nie zaakceptuje innego komunikatu z tego źródła, DecliningPermanently zostanie zwrócony.

Implementuje

Wyjątki

messageHeader jest nieprawidłowa.

-or - consumeToAccept może być true tylko w przypadku podania wartości innej niż null source.

Dotyczy