Share via


klasse aanroepen

Een call berichtenblok is een geordend, multi-source target_block dat een opgegeven functie aanroept bij het ontvangen van een bericht.

Syntaxis

template<class T, class _FunctorType = std::function<void(T const&)>>
class call : public target_block<multi_link_registry<ISource<T>>>;

Parameterwaarden

T
Het payloadtype van de berichten die gepropageerd zijn naar dit blok.

_FunctorType
De handtekening van functies die door dit blok kunnen worden geaccepteerd.

Leden

Openbare constructors

Naam Description
call Overbelast. Maakt een call berichtenblok.
~destructor aanroepen Vernietigt het call berichtenblok.

Beveiligde methoden

Naam Description
process_input_messages Hiermee wordt de aanroepfunctie uitgevoerd voor de invoerberichten.
process_message Hiermee wordt een bericht verwerkt dat door dit call berichtenblok is geaccepteerd.
propagate_message Asynchroon geeft een bericht van een ISource blok door aan dit call berichtenblok. Deze wordt aangeroepen door de propagate methode, wanneer deze wordt aangeroepen door een bronblok.
send_message Hiermee wordt een bericht synchroon doorgegeven van een ISource blok aan dit call berichtenblok. Deze wordt aangeroepen door de send methode, wanneer deze wordt aangeroepen door een bronblok.
ondersteunt_anonieme_bron Overschrijft de supports_anonymous_source methode om aan te geven dat dit blok berichten kan accepteren die worden aangeboden door een bron die niet is gekoppeld. (Overschrijft ITarget::supports_anonymous_source.)

Opmerkingen

Zie Asynchrone berichtblokken voor meer informatie.

Overnamehiërarchie

ITarget

target_block

call

Requirements

Header: agents.h

Naamruimte: concurrentie

call

Maakt een call berichtenblok.

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);

Parameterwaarden

_Func
Een functie die wordt aangeroepen voor elk geaccepteerd bericht.

_Filter
Een filterfunctie die bepaalt of aangeboden berichten moeten worden geaccepteerd.

_PScheduler
Het Scheduler-object waarin de doorgiftetaak voor het berichtblok call is gepland.

_PScheduleGroup
Het ScheduleGroup-object waarin de doorgiftetaak voor het berichtblok call is gepland. Het gebruikte Scheduler-object wordt geïmpliceerd door de planningsgroep.

Opmerkingen

De runtime gebruikt de standaardplanner als u de _PScheduler of _PScheduleGroup parameters niet opgeeft.

Het type _Call_method is een functor met handtekening void (T const &) die wordt aangeroepen door dit call berichtenblok om een bericht te verwerken.

Het type filter_method is een functor met handtekening bool (T const &) die wordt aangeroepen door dit call berichtenblok om te bepalen of het een aangeboden bericht moet accepteren.

~Oproep

Vernietigt het call berichtenblok.

~call();

verwerk_invoersberichten

Hiermee wordt de aanroepfunctie uitgevoerd voor de invoerberichten.

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

Parameterwaarden

_PMessage
Een aanwijzer naar het bericht dat moet worden verwerkt.

process_message

Hiermee wordt een bericht verwerkt dat door dit call berichtenblok is geaccepteerd.

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

Parameterwaarden

_PMessage
Een aanwijzer naar het bericht dat moet worden verwerkt.

propagate_message

Asynchroon geeft een bericht van een ISource blok door aan dit call berichtenblok. Deze wordt aangeroepen door de propagate methode, wanneer deze wordt aangeroepen door een bronblok.

virtual message_status propagate_message(
    _Inout_ message<T>* _PMessage,
    _Inout_ ISource<T>* _PSource);

Parameterwaarden

_PMessage
Een aanwijzer naar het message object.

_PSource
Een aanwijzer naar het bronblok dat het bericht aanbiedt.

Retourwaarde

Een message_status indicatie van wat het doel heeft besloten te doen met het bericht.

bericht_verzenden

Hiermee wordt een bericht synchroon doorgegeven van een ISource blok aan dit call berichtenblok. Deze wordt aangeroepen door de send methode, wanneer deze wordt aangeroepen door een bronblok.

virtual message_status send_message(
    _Inout_ message<T>* _PMessage,
    _Inout_ ISource<T>* _PSource);

Parameterwaarden

_PMessage
Een aanwijzer naar het message object.

_PSource
Een aanwijzer naar het bronblok dat het bericht aanbiedt.

Retourwaarde

Een message_status indicatie van wat het doel heeft besloten te doen met het bericht.

ondersteunt_anonieme_bron

Overschrijft de supports_anonymous_source methode om aan te geven dat dit blok berichten kan accepteren die worden aangeboden door een bron die niet is gekoppeld.

virtual bool supports_anonymous_source();

Retourwaarde

true omdat het blok aangeboden berichten niet uitstelt.

Zie ook

concurrentie Namespace
transformatorklasse