ITarget Sınıfı
ITarget
sınıfı, tüm hedef bloklar için arabirimdir. Hedef bloklar, bloklar tarafından ISource
kendilerine sunulan iletileri kullanır.
Sözdizimi
template<class T>
class ITarget;
Parametreler
T
Hedef blok tarafından kabul edilen iletilerde yükün veri türü.
Üyeler
Genel Tür Tanımları
Veri Akışı Adı | Açıklama |
---|---|
filter_method |
Blok tarafından kullanılan ve sunulan bir iletinin kabul edilip edilmeyeceğini belirlemek için değer bool döndüren herhangi bir yöntemin imzası. |
type |
için T bir tür diğer adı. |
Ortak Oluşturucular
Veri Akışı Adı | Açıklama |
---|---|
~ITarget Yıkıcısı | Nesneyi yok eder ITarget . |
Genel Yöntemler
Veri Akışı Adı | Açıklama |
---|---|
Yay -mak | Türetilmiş bir sınıfta geçersiz kılındığında, bir kaynak bloktaki bir iletiyi zaman uyumsuz 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 döndürürse true , daha sonra ertelenen bir iletinin tüketimi kaynağın kaynak bağlantı kayıt defterinde 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. |
unlink_sources | Türetilmiş bir sınıfta geçersiz kılındığında, tüm kaynak blokların bu ITarget bloktaki 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
Nesneyi yok eder ITarget
.
virtual ~ITarget();
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.
virtual void link_source(_Inout_ ISource<T>* _PSource) = 0;
Parametreler
_PSource
Bu ISource
ITarget
bloğa bağlı olan blok.
Açıklamalar
Bu işlev doğrudan bir ITarget
blokta çağrılmamalıdır. Bloklar, ilgili hedefte link_target
yöntemini çağıracak link_source
olan bloklar üzerindeki ISource
yöntemi kullanılarak birbirine bağlanmalıdır.
Yay -mak
Türetilmiş bir sınıfta geçersiz kılındığında, bir kaynak bloktaki bir iletiyi zaman uyumsuz olarak bu hedef bloğa geçirir.
virtual message_status propagate(
_Inout_opt_ message<T>* _PMessage,
_Inout_opt_ 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 verdiklerine ilişkin message_status bir gösterge.
Açıklamalar
veya parametresi ise yöntemi bir invalid_argument özel durumu oluşturur._PMessage
NULL
_PSource
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 verdiklerine ilişkin message_status bir gösterge.
Açıklamalar
veya parametresi ise yöntemi bir invalid_argument özel durumu oluşturur._PMessage
NULL
_PSource
send
İleti başlatma dışında yönteminin kullanılması ve iletilerin bir ağ içinde yayılması tehlikelidir ve kilitlenmeye yol açabilir.
Döndürdüğünde send
, ileti zaten kabul edilmiş ve hedef bloğa aktarılmıştır veya hedef tarafından reddedilmiştir.
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 döndürürse true
, daha sonra ertelenen bir iletinin tüketimi kaynağın kaynak 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, başka bir şekilde bağlantılı false
olmayan bir kaynaktan gelen iletiyi kabul edebilirse.
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.
virtual void unlink_source(_Inout_ ISource<T>* _PSource) = 0;
Parametreler
_PSource
Bu ISource
blokla ITarget
bağlantısı kaldırılan blok.
Açıklamalar
Bu işlev doğrudan bir ITarget
blokta çağrılmamalıdır. Bloklar, ilgili hedefte unlink_target
unlink_targets
yöntemini çağıracak unlink_source
olan veya blokları üzerindeki ISource
yöntemleri kullanılarak kesilmelidir.
unlink_sources
Türetilmiş bir sınıfta geçersiz kılındığında, tüm kaynak blokların bu ITarget
bloktaki bağlantılarını kaldırır.
virtual void unlink_sources() = 0;