ç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

Veri Akışı Adı Açıklama
çağırmak Aşırı yüklü Bir call mesajlaşma bloğu oluşturur.
Destructor'u Çağır 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 ISource bloktan gelen bir mesajı zaman uyumsuz olarak bu call mesajlaşma bloğuna geçirir. propagate yöntemi, bir kaynak bloğu tarafından çağrıldığında çalıştırılır.
send_message Bir bloktan iletiyi senkronize olarak bu call mesajlaşma bloğuna geçirir. send yöntemi, bir kaynak bloğu tarafından çağrıldığında çalıştırılır.
supports_anonymous_source Bağlı olmayan bir kaynak tarafından sunulan iletileri kabul edebileceğini belirtmek için supports_anonymous_source 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

çağrı

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 nesnesi, call ileti bloğu için yayma görevinin zamanlandığı yerdir.

_PScheduleGroup
ScheduleGroup nesnesi, call ileti bloğu için yayma görevinin zamanlandığı yerdir. Scheduler kullanılan nesne zamanlama grubuyla belirtilir.

Açıklamalar

_PScheduler veya _PScheduleGroup parametrelerini belirtmezseniz çalışma zamanı varsayılan zamanlayıcıyı kullanır.

_Call_method türü, bir iletiyi işlemek için bu mesaj bloğu tarafından çağrılan void (T const &) imzalı bir işlevsel ara birimdir (functor).

Tür filter_method, imzalı bool (T const &) olan bir functor olup, bu call mesajlaşma bloğu tarafından sunulan bir mesajı kabul edip etmemesi gerektiğini belirlemek için çağrılır.

~çağırmak

Mesajlaşma bloğunu call yok eder.

~call();

girdi_mesajlarını_işle

Giriş iletilerinde çağrı işlevini yürütür.

virtual void process_input_messages(_Inout_ message<T>* _PMessage);

Parametreler

_PMessage
İşlenecek olan mesaja yönelik işaretçi.

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 mesajın işaretçisi.

propagate_message

ISource bloktan gelen bir mesajı zaman uyumsuz olarak bu call mesajlaşma bloğuna geçirir. propagate yöntemi, bir kaynak bloğu tarafından çağrıldığında çalıştı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 verdiğine dair bir message_status göstergesi.

mesaj_gönder

Bir bloktan iletiyi senkronize olarak bu call mesajlaşma bloğuna geçirir. send yöntemi, bir kaynak bloğu tarafından çağrıldığında çalıştı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 verdiğine dair bir message_status göstergesi.

anonim_kaynağı_destekler

Bağlı olmayan bir kaynak tarafından sunulan iletileri kabul edebileceğini belirtmek için supports_anonymous_source yöntemini geçersiz kılar.

virtual bool supports_anonymous_source();

Dönüş Değeri

true çünkü blok, sunulan iletileri ertelemez.

Ayrıca bkz.

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