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.
Mesajlaşma call bloğu, ileti alırken belirtilen işlevi çağıran çok kaynaklı, sıralı target_block bir blokdur.
Sözdizimi
template<class T, class _FunctorType = std::function<void(T const&)>>
class call : public target_block<multi_link_registry<ISource<T>>>;
Parametreler
T
Bu bloğa yayılan iletilerin yük türü.
_FunctorType
Bu bloğun kabul edebildiği işlevlerin imzası.
Üyeler
Ortak Oluşturucular
| Veri Akışı Adı | Açıklama |
|---|---|
| çağırmak | Aşırı yüklendi. Bir call mesajlaşma bloğu oluşturur. |
| ~call Yıkıcı | Mesajlaşma bloğunu call yok eder. |
Korumalı Yöntemler
| Veri Akışı Adı | Açıklama |
|---|---|
| process_input_messages | Giriş iletilerinde çağrı işlevini yürütür. |
| process_message | Bu call mesajlaşma bloğu tarafından kabul edilen bir iletiyi işler. |
| propagate_message | Bir bloktan ISource gelen iletiyi zaman uyumsuz olarak bu call mesajlaşma bloğuna geçirir. Bir kaynak bloğu tarafından çağrıldığında yöntemi tarafından propagate çağrılır. |
| send_message | Bir bloktan gelen iletiyi zaman uyumlu bir ISource şekilde bu call mesajlaşma bloğuna geçirir. Bir kaynak bloğu tarafından çağrıldığında yöntemi tarafından send çağrılır. |
| supports_anonymous_source | Bu bloğun supports_anonymous_source bağlı olmayan bir kaynak tarafından sunulan iletileri kabul ettiğini belirtmek için yöntemini geçersiz kılar. (Geçersiz Kılmalar ITarget::supports_anonymous_source.) |
Açıklamalar
Daha fazla bilgi için bkz . Zaman Uyumsuz İleti Blokları.
Devralma Hiyerarşisi
call
Gereksinimler
Üst bilgi: agents.h
Ad alanı: eşzamanlılık
call
Bir call mesajlaşma bloğu oluşturur.
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);
Parametreler
_Func
Kabul edilen her ileti için çağrılacak bir işlev.
_Filtre
Sunulan iletilerin kabul edilip edilmeyeceğini belirleyen bir filtre işlevi.
_PScheduler
Scheduler İleti bloğu için yayma görevinin call zamanlandığı nesne.
_PScheduleGroup
ScheduleGroup İleti bloğu için yayma görevinin call zamanlandığı nesne. Scheduler Kullanılan nesne zamanlama grubu tarafından örtülür.
Açıklamalar
veya _PScheduleGroup parametrelerini belirtmezseniz çalışma zamanı varsayılan zamanlayıcıyı _PScheduler kullanır.
türü_Call_method, bir iletiyi işlemek için bu call mesajlaşma bloğu tarafından çağrılan imzalı void (T const &) bir functor'dır.
Türüfilter_method, sunulan bir iletiyi kabul edip etmemesi gerektiğini belirlemek için bu call mesajlaşma bloğu tarafından çağrılan imzalı bool (T const &) bir functor'dır.
~çağırmak
Mesajlaşma bloğunu call yok eder.
~call();
process_input_messages
Giriş iletilerinde çağrı işlevini yürütür.
virtual void process_input_messages(_Inout_ message<T>* _PMessage);
Parametreler
_PMessage
İşlenecek iletinin işaretçisi.
process_message
Bu call mesajlaşma bloğu tarafından kabul edilen bir iletiyi işler.
virtual void process_message(_Inout_ message<T>* _PMessage);
Parametreler
_PMessage
İşlenecek iletinin işaretçisi.
propagate_message
Bir bloktan ISource gelen iletiyi zaman uyumsuz olarak bu call mesajlaşma bloğuna geçirir. Bir kaynak bloğu tarafından çağrıldığında yöntemi tarafından propagate çağrılır.
virtual message_status propagate_message(
_Inout_ message<T>* _PMessage,
_Inout_ ISource<T>* _PSource);
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.
send_message
Bir bloktan gelen iletiyi zaman uyumlu bir ISource şekilde bu call mesajlaşma bloğuna geçirir. Bir kaynak bloğu tarafından çağrıldığında yöntemi tarafından send çağrılır.
virtual message_status send_message(
_Inout_ message<T>* _PMessage,
_Inout_ ISource<T>* _PSource);
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.
supports_anonymous_source
Bu bloğun supports_anonymous_source bağlı olmayan bir kaynak tarafından sunulan iletileri kabul ettiğini belirtmek için yöntemini geçersiz kılar.
virtual bool supports_anonymous_source();
Dönüş Değeri
true çünkü blok, sunulan iletileri ertelemez.