Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of mappen te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen om mappen te wijzigen.
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
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.