Kelas panggilan
call
Blok olahpesan adalah multi-sumber, yang diurutkan target_block
yang memanggil fungsi tertentu saat menerima pesan.
Sintaks
template<class T, class _FunctorType = std::function<void(T const&)>>
class call : public target_block<multi_link_registry<ISource<T>>>;
Parameter
T
Jenis payload pesan yang disebarkan ke blok ini.
_FunctorType
Tanda tangan fungsi yang dapat diterima blok ini.
Anggota
Konstruktor Publik
Nama | Deskripsi |
---|---|
panggil | Kelebihan beban. Membuat call blok olahpesan. |
~panggil Destructor | call Menghancurkan blok olahpesan. |
Metode yang Dilindungi
Nama | Deskripsi |
---|---|
process_input_messages | Menjalankan fungsi panggilan pada pesan input. |
process_message | Memproses pesan yang diterima oleh blok olahpesan ini call . |
propagate_message | Secara asinkron meneruskan pesan dari ISource blok ke blok olahpesan ini call . Ini dipanggil oleh propagate metode , ketika dipanggil oleh blok sumber. |
send_message | Secara sinkron meneruskan pesan dari ISource blok ke blok olahpesan ini call . Ini dipanggil oleh send metode , ketika dipanggil oleh blok sumber. |
supports_anonymous_source | Mengambil alih supports_anonymous_source metode untuk menunjukkan bahwa blok ini dapat menerima pesan yang ditawarkan oleh sumber yang tidak ditautkan. (Penimpaan ITarget::supports_anonymous_source.) |
Keterangan
Untuk informasi selengkapnya, lihat Blok Pesan Asinkron.
Hierarki Warisan
call
Persyaratan
Header: agents.h
Namespace: konkurensi
panggil
Membuat call
blok olahpesan.
call(
_Call_method const& _Func);
call(
_Call_method const& _Func,
filter_method const& _Filter);
call(
Scheduler& _PScheduler,
_Call_method const& _Func);
call(
Scheduler& _PScheduler,
_Call_method const& _Func,
filter_method const& _Filter);
call(
ScheduleGroup& _PScheduleGroup,
_Call_method const& _Func);
call(
ScheduleGroup& _PScheduleGroup,
_Call_method const& _Func,
filter_method const& _Filter);
Parameter
_Func
Fungsi yang akan dipanggil untuk setiap pesan yang diterima.
_Saringan
Fungsi filter yang menentukan apakah pesan yang ditawarkan harus diterima.
_PScheduler
Objek Scheduler
tempat tugas penyebaran untuk call
blok olahpesan dijadwalkan.
_PScheduleGroup
Objek ScheduleGroup
tempat tugas penyebaran untuk call
blok olahpesan dijadwalkan. Objek Scheduler
yang digunakan tersirat oleh grup jadwal.
Keterangan
Runtime menggunakan penjadwal default jika Anda tidak menentukan _PScheduler
parameter atau _PScheduleGroup
.
Jenisnya _Call_method
adalah funktor dengan tanda tangan void (T const &)
yang dipanggil oleh blok olahpesan ini call
untuk memproses pesan.
Jenisnya filter_method
adalah funktor dengan tanda tangan bool (T const &)
yang dipanggil oleh blok olahpesan ini call
untuk menentukan apakah harus menerima pesan yang ditawarkan atau tidak.
~panggil
call
Menghancurkan blok olahpesan.
~call();
process_input_messages
Menjalankan fungsi panggilan pada pesan input.
virtual void process_input_messages(_Inout_ message<T>* _PMessage);
Parameter
_PMessage
Penunjuk ke pesan yang akan ditangani.
process_message
Memproses pesan yang diterima oleh blok olahpesan ini call
.
virtual void process_message(_Inout_ message<T>* _PMessage);
Parameter
_PMessage
Penunjuk ke pesan yang akan ditangani.
propagate_message
Secara asinkron meneruskan pesan dari ISource
blok ke blok olahpesan ini call
. Ini dipanggil oleh propagate
metode , ketika dipanggil oleh blok sumber.
virtual message_status propagate_message(
_Inout_ message<T>* _PMessage,
_Inout_ ISource<T>* _PSource);
Parameter
_PMessage
Penunjuk ke message
objek.
_PSource
Penunjuk ke blok sumber yang menawarkan pesan.
Tampilkan Nilai
Indikasi message_status tentang apa yang diputuskan target dengan pesan.
send_message
Secara sinkron meneruskan pesan dari ISource
blok ke blok olahpesan ini call
. Ini dipanggil oleh send
metode , ketika dipanggil oleh blok sumber.
virtual message_status send_message(
_Inout_ message<T>* _PMessage,
_Inout_ ISource<T>* _PSource);
Parameter
_PMessage
Penunjuk ke message
objek.
_PSource
Penunjuk ke blok sumber yang menawarkan pesan.
Tampilkan Nilai
Indikasi message_status tentang apa yang diputuskan target dengan pesan.
supports_anonymous_source
Mengambil alih supports_anonymous_source
metode untuk menunjukkan bahwa blok ini dapat menerima pesan yang ditawarkan oleh sumber yang tidak ditautkan.
virtual bool supports_anonymous_source();
Tampilkan Nilai
true
karena blok tidak menunda pesan yang ditawarkan.