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.
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.