Aracılığıyla paylaş


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ı

Ad Tanım
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 Tbir tür diğer adı.

Ortak Oluşturucular

Ad Tanım
~ITarget Yıkıcısı Nesneyi yok eder ITarget .

Genel Yöntemler

Ad Tanım
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

Ad Tanım
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();

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

İade 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._PMessageNULL_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.

İade 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._PMessageNULL_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();

İade Değeri

true blok, başka bir şekilde bağlantılı false olmayan bir kaynaktan gelen iletiyi kabul edebilirse.

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_targetunlink_targets yöntemini çağıracak unlink_source olan veya blokları üzerindeki ISource yöntemleri kullanılarak kesilmelidir.

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;

Ayrıca bkz.

Eşzamanlılık Ad Alanı
ISource Sınıfı