Bagikan melalui


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

ITarget

target_block

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.

Lihat juga

Namespace layanan konkurensi
Kelas transformator