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.
Kelas ITarget adalah antarmuka untuk semua blok target. Blok target mengonsumsi pesan yang ditawarkan kepada mereka berdasarkan ISource blok.
Sintaks
template<class T>
class ITarget;
Parameter
T
Jenis data payload dalam pesan yang diterima oleh blok target.
Anggota
Typedef Publik
| Nama | Deskripsi |
|---|---|
filter_method |
Tanda tangan metode apa pun yang digunakan oleh blok yang mengembalikan bool nilai untuk menentukan apakah pesan yang ditawarkan harus diterima. |
type |
Alias jenis untuk T. |
Konstruktor Publik
| Nama | Deskripsi |
|---|---|
| ~ITarget Destructor | ITarget Menghancurkan objek. |
Metode Publik
| Nama | Deskripsi |
|---|---|
| Menyebarkan | Ketika ditimpa di kelas turunan, secara asinkron meneruskan pesan dari blok sumber ke blok target ini. |
| kirim | Ketika ditimpa di kelas turunan, secara sinkron meneruskan pesan ke blok target. |
| supports_anonymous_source | Saat ditimpa dalam kelas turunan, mengembalikan true atau false tergantung pada apakah blok pesan menerima pesan yang ditawarkan oleh sumber yang tidak ditautkan ke dalamnya. Jika metode yang ditimpa truemengembalikan , target tidak dapat menunda pesan yang ditawarkan, karena konsumsi pesan yang ditunda di lain waktu mengharuskan sumber diidentifikasi dalam registri tautan sumbernya. |
Metode yang Dilindungi
| Nama | Deskripsi |
|---|---|
| link_source | Ketika ditimpa di kelas turunan, menautkan blok sumber tertentu ke blok ini ITarget . |
| unlink_source | Ketika ditimpa di kelas turunan, batalkan tautan blok sumber tertentu dari blok ini ITarget . |
| unlink_sources | Ketika ditimpa di kelas turunan, batalkan tautan semua blok sumber dari blok ini ITarget . |
Keterangan
Untuk informasi selengkapnya, lihat Blok Pesan Asinkron.
Hierarki Warisan
ITarget
Persyaratan
Header: agents.h
Namespace: konkurensi
~ITarget
ITarget Menghancurkan objek.
virtual ~ITarget();
link_source
Ketika ditimpa di kelas turunan, menautkan blok sumber tertentu ke blok ini ITarget .
virtual void link_source(_Inout_ ISource<T>* _PSource) = 0;
Parameter
_PSource
Blok yang ISource sedang ditautkan ke blok ini ITarget .
Keterangan
Fungsi ini tidak boleh dipanggil langsung pada ITarget blok. Blok harus dihubungkan bersama-sama menggunakan link_target metode pada ISource blok, yang akan memanggil link_source metode pada target yang sesuai.
Menyebarkan
Ketika ditimpa di kelas turunan, secara asinkron meneruskan pesan dari blok sumber ke blok target ini.
virtual message_status propagate(
_Inout_opt_ message<T>* _PMessage,
_Inout_opt_ ISource<T>* _PSource) = 0;
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.
Keterangan
Metode ini melempar pengecualian invalid_argument jika _PMessage parameter atau _PSource adalah NULL.
kirim
Ketika ditimpa di kelas turunan, secara sinkron meneruskan pesan ke blok target.
virtual message_status send(
_Inout_ message<T>* _PMessage,
_Inout_ ISource<T>* _PSource) = 0;
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.
Keterangan
Metode ini melempar pengecualian invalid_argument jika _PMessage parameter atau _PSource adalah NULL.
Menggunakan metode di send luar inisiasi pesan dan untuk menyebarluaskan pesan dalam jaringan berbahaya dan dapat menyebabkan kebuntuan.
Ketika send kembali, pesan telah diterima, dan ditransfer ke blok target, atau telah ditolak oleh target.
supports_anonymous_source
Saat ditimpa dalam kelas turunan, mengembalikan true atau false tergantung pada apakah blok pesan menerima pesan yang ditawarkan oleh sumber yang tidak ditautkan ke dalamnya. Jika metode yang ditimpa truemengembalikan , target tidak dapat menunda pesan yang ditawarkan, karena konsumsi pesan yang ditunda di lain waktu mengharuskan sumber diidentifikasi dalam registri tautan asamnya.
virtual bool supports_anonymous_source();
Tampilkan Nilai
true jika blok dapat menerima pesan dari sumber yang tidak ditautkan ke false sumber tersebut jika tidak.
unlink_source
Ketika ditimpa di kelas turunan, batalkan tautan blok sumber tertentu dari blok ini ITarget .
virtual void unlink_source(_Inout_ ISource<T>* _PSource) = 0;
Parameter
_PSource
Blok ISource yang dilepas tautannya dari blok ini ITarget .
Keterangan
Fungsi ini tidak boleh dipanggil langsung pada ITarget blok. Blok harus diputus menggunakan unlink_target metode atau unlink_targets pada ISource blok, yang akan memanggil unlink_source metode pada target yang sesuai.
unlink_sources
Ketika ditimpa di kelas turunan, batalkan tautan semua blok sumber dari blok ini ITarget .
virtual void unlink_sources() = 0;