Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
ITarget sınıfı, tüm hedef bloklar için arabirimdir. Hedef bloklar, ISource blokları tarafından kendilerine sunulan iletileri tüketir.
Sözdizimi
template<class T>
class ITarget;
Parametreler
T
Hedef blok tarafından kabul edilen iletilerin içindeki yükün veri türü.
Üyeler
Genel Tür Tanımları
| Veri Akışı Adı | Açıklama |
|---|---|
filter_method |
Blok tarafından kullanılan, sunulan bir iletinin kabul edilip edilmeyeceğini belirlemek için bir değer döndüren herhangi bir yöntemin imzası. |
type |
T için bir tür takma ad. |
Ortak Oluşturucular
| Veri Akışı Adı | Açıklama |
|---|---|
| ~ITarget Destructor |
ITarget nesnesini yok eder. |
Genel Yöntemler
| Veri Akışı Adı | Açıklama |
|---|---|
| Yaymak | Türetilmiş bir sınıfta geçersiz kılındığında, bir kaynak bloktaki bir iletiyi eşzamansız olarak bu hedef bloğa geçirir. |
| Gönder | Türetilmiş bir sınıfta geçersiz kılındığında, bir iletiyi hedef bloğa zaman uyumlu bir şekilde geçirir. |
| supports_anonymous_source | Türetilmiş bir sınıfta geçersiz kılındığında, ileti bloğunun ona bağlı olmayan bir kaynak tarafından sunulan iletileri kabul edip etmediğine bağlı olarak true veya false döndürür. Geçersiz kılınan yöntem true döndürürse, ertelenmiş bir iletinin daha sonra tüketilmesi, kaynağın, kaynak bağlantısı kaydında tanımlanmasını gerektirdiğinden, hedef sunulan iletiyi erteleyemez. |
Korumalı Yöntemler
| Veri Akışı Adı | Açıklama |
|---|---|
| link_source | Türetilmiş bir sınıfta geçersiz kılındığında, belirtilen bir kaynak bloğu bu ITarget bloğa bağlar. |
| unlink_source | Türetilmiş bir sınıfta geçersiz kılındığında, belirtilen kaynak bloğun bu ITarget blokla bağlantısını kaldırır. |
| kaynakları_bağlantısızlaştır | Türetilmiş bir sınıfta geçersiz kılındığında, bu ITarget bloktaki tüm kaynak blokların bağlantılarını kaldırır. |
Açıklamalar
Daha fazla bilgi için bkz. Zaman Uyumsuz İleti Blokları.
Devralma Hiyerarşisi
ITarget
Gereksinimler
Üst bilgi: agents.h
Ad alanı: eşzamanlılık
~ITarget
ITarget nesnesini yok eder.
virtual ~ITarget();
bağlantı_kaynağı
Türetilmiş bir sınıfta geçersiz kılındığında, belirtilen bir kaynak bloğu bu ITarget bloğa bağlar.
virtual void link_source(_Inout_ ISource<T>* _PSource) = 0;
Parametreler
_PSource
Bu ISource bloğu, bu ITarget bloğa bağlıdır.
Açıklamalar
Bu işlev doğrudan bir ITarget blokta çağrılmamalıdır. Bloklar, ISource blokları üzerindeki link_source yöntemi kullanılarak ve böylece ilgili hedefte link_target yöntemini çağıracak şekilde birbirine bağlanmalıdır.
yaymak
Türetilmiş bir sınıfta geçersiz kılındığında, bir kaynak bloktaki bir iletiyi eşzamansız olarak bu hedef bloğa geçirir.
virtual message_status propagate(
_Inout_opt_ message<T>* _PMessage,
_Inout_opt_ ISource<T>* _PSource) = 0;
Parametreler
_PMessage
Bir işaretçi message nesnesine.
_PSource
İletiyi sunan kaynak bloğun işaretçisi.
Dönüş Değeri
Hedefin iletiyle ne yapmaya karar verdiğine ilişkin message_status göstergesi.
Açıklamalar
Parametrelerden ya _PMessage ya da _PSourceNULL ise, yöntem bir invalid_argument özel durumu oluşturur.
Gönder
Türetilmiş bir sınıfta geçersiz kılındığında, bir iletiyi hedef bloğa zaman uyumlu bir şekilde geçirir.
virtual message_status send(
_Inout_ message<T>* _PMessage,
_Inout_ ISource<T>* _PSource) = 0;
Parametreler
_PMessage
Nesnenin işaretçisi message .
_PSource
İletiyi sunan kaynak bloğun işaretçisi.
Dönüş Değeri
Hedefin iletiyle ne yapmaya karar verdiğine dair bir message_status göstergesi.
Açıklamalar
Yöntem, ya _PMessage ya da _PSource parametresi NULL ise bir invalid_argument özel durumu oluşturur.
send İleti başlatma dışında yönteminin kullanılması ve iletilerin bir ağ içinde yayılması tehlikelidir ve kilitlenmeye yol açabilir.
send döndüğünde, ileti ya kabul edilip hedef bloğa aktarılmış ya da hedef tarafından reddedilmiştir.
anonim_kaynağı_destekler
Türetilmiş bir sınıfta geçersiz kılındığında, ileti bloğunun ona bağlı olmayan bir kaynak tarafından sunulan iletileri kabul edip etmediğine bağlı olarak true veya false döndürür. Geçersiz kılınan yöntem true döndürürse, daha sonra ertelenen bir iletinin tüketimi kaynağın bağlantı kayıt defterinde tanımlanmasını gerektirdiğinden hedef, sunulan iletiyi erteleyemez.
virtual bool supports_anonymous_source();
Dönüş Değeri
true blok, kendisiyle bağlantılı olmayan bir kaynaktan gelen iletiyi kabul edebiliyorsa false aksi takdirde.
kaynağın bağlantısını kaldır
Türetilmiş bir sınıfta geçersiz kılındığında, belirtilen kaynak bloğun bu ITarget blokla bağlantısını kaldırır.
virtual void unlink_source(_Inout_ ISource<T>* _PSource) = 0;
Parametreler
_PSource
ISource bloğu, bu ITarget bloktan bağlantısı kaldırılıyor.
Açıklamalar
Bu işlev doğrudan bir ITarget blokta çağrılmamalıdır. Blokların, unlink_target veya unlink_targets yöntemlerini kullanarak bağlantıları kesilmelidir. Bu, ilgili hedefte unlink_source yöntemini çağıracaktır.
kaynakların_bağlantısını_kaldır
Türetilmiş bir sınıfta geçersiz kılındığında, bu ITarget bloktaki tüm kaynak blokların bağlantılarını kaldırır.
virtual void unlink_sources() = 0;