Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Blok pesan call adalah target_block multi-sumber yang diurutkan 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 dari fungsi-fungsi yang dapat diterima oleh blok ini.
Anggota
Konstruktor Publik
| Nama | Deskripsi |
|---|---|
| panggil | Kelebihan beban. Membuat call blok pesan. |
| ~panggil Destructor | Menghancurkan blok pesan call. |
Metode yang Dilindungi
| Nama | Deskripsi |
|---|---|
| process_input_messages | Menjalankan fungsi panggilan pada pesan input. |
| process_message | Memproses pesan yang diterima di blok pesan ini call. |
| propagate_message | Secara asinkron meneruskan pesan dari ISource blok ke blok olahpesan ini call . Ini dipanggil oleh metode propagate ketika dipanggil oleh blok sumber. |
| send_message | Secara sinkron meneruskan pesan dari ISource blok ke blok olahpesan ini call . Ini dipanggil oleh metode send ketika dipanggil oleh blok sumber. |
| mendukung_sumber_anonim | Mengganti metode supports_anonymous_source untuk menunjukkan bahwa blok ini dapat menerima pesan yang ditawarkan oleh sumber yang tidak ditautkan. (Menggantikan ITarget::supports_anonymous_source.) |
Keterangan
Untuk informasi selengkapnya, lihat Blok Pesan Asinkron.
Hierarki Pewarisan
call
Persyaratan
Header: agents.h
Namespace: konkurensi
panggil
Membuat call blok pesan.
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.
_Filter
Fungsi filter yang menentukan apakah pesan yang ditawarkan harus diterima.
_PScheduler
Objek Scheduler di mana tugas propagasi untuk blok olahpesan call dijadwalkan.
_PScheduleGroup
Objek ScheduleGroup di mana tugas propagasi untuk blok olahpesan call dijadwalkan. Objek Scheduler yang digunakan dapat disimpulkan dari 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.
Jenis filter_method adalah funktor dengan tanda tangan bool (T const &) yang dipanggil oleh blok pesan call ini untuk menentukan apakah harus menerima pesan yang ditawarkan atau tidak.
~panggil
Menghancurkan blok pesan call.
~call();
proses_pesan_masukan
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 di blok pesan ini call.
virtual void process_message(_Inout_ message<T>* _PMessage);
Parameter
_PMessage
Penunjuk ke pesan yang akan ditangani.
sebarkan_pesan
Secara asinkron meneruskan pesan dari ISource blok ke blok olahpesan ini call . Ini dipanggil oleh metode propagate 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
Tanda message_status tentang keputusan target terhadap pesan.
kirim_pesan
Secara sinkron meneruskan pesan dari ISource blok ke blok olahpesan ini call . Ini dipanggil oleh metode send 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
Tanda message_status tentang keputusan target terhadap pesan.
mendukung_sumber_anonim
Mengganti metode supports_anonymous_source 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.