Bagikan melalui


WriteOnceBlock<T>.ITargetBlock<T>.OfferMessage Metode

Definisi

Menawarkan pesan ke ITargetBlock<TInput>, memberikan target kesempatan untuk mengonsumsi atau menunda pesan.

 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

Parameter

messageHeader
DataflowMessageHeader

DataflowMessageHeader Instans yang mewakili header pesan yang ditawarkan.

messageValue
T

Nilai pesan yang ditawarkan.

source
ISourceBlock<T>

Penawaran ISourceBlock<TOutput> pesan. Ini mungkin null.

consumeToAccept
Boolean

Atur ke true untuk menginstruksikan target untuk memanggil ConsumeMessage(DataflowMessageHeader, ITargetBlock<TOutput>, Boolean) secara sinkron selama panggilan ke OfferMessage(DataflowMessageHeader, TInput, ISourceBlock<TInput>, Boolean), sebelum mengembalikan Accepted, untuk menggunakan pesan.

Mengembalikan

Status pesan yang ditawarkan. Jika pesan diterima oleh target, Accepted dikembalikan, dan sumber tidak boleh lagi menggunakan pesan yang ditawarkan, karena sekarang dimiliki oleh target. Jika pesan ditunda oleh target, Postponed dikembalikan sebagai pemberitahuan bahwa target nantinya dapat mencoba mengonsumsi atau memesan pesan; sementara itu, sumber masih memiliki pesan dan dapat menawarkannya ke blok lain.

Jika target akan memiliki pesan yang ditunda, tetapi source adalah null, Declined malah dikembalikan.

Jika target mencoba menerima pesan tetapi melewatkannya karena sumber yang mengirimkan pesan ke target lain atau hanya membuangnya, NotAvailable dikembalikan.

Jika target memilih untuk tidak menerima pesan, Declined dikembalikan. Jika target memilih untuk tidak menerima pesan dan tidak akan pernah menerima pesan lain dari sumber ini, DecliningPermanently dikembalikan.

Penerapan

Pengecualian

tidak messageHeader valid.

-or- consumeToAccept mungkin hanya benar jika disediakan dengan non-null source.

Berlaku untuk