çağrı Sınıfı
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
Ad | Tanım |
---|---|
Çağrı | 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
Ad | Tanım |
---|---|
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ğrı
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.
İade 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.
İade 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();
İade Değeri
true
çünkü blok, sunulan iletileri ertelemez.
Ayrıca bkz.
Geri Bildirim
https://aka.ms/ContentUserFeedback.
Çok yakında: 2024 boyunca, içerik için geri bildirim mekanizması olarak GitHub Sorunları’nı kullanımdan kaldıracak ve yeni bir geri bildirim sistemiyle değiştireceğiz. Daha fazla bilgi için bkz.Gönderin ve geri bildirimi görüntüleyin