Aracılığıyla paylaş


ç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

Itarget

target_block

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.

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