fonction <FnFMethod> [SWS_CM_90434] Upstream: RS_CM_00215, RS_AP_00114
virtual void {<fnfmethod-name>} ({<fnfmethod-in-arg-derived-type-0to N>} {<fnfmethod-in-arg-symbol-0toN>}) noexcept=0;
Provision of a fire-and-forget method (ClientServerOperation. fireAndForget ==TRUE)
La fonction d'API [SWS_CM_90434] définit l'interface purement virtuelle d'une méthode « fire-and-forget » côté serveur. Elle fait partie intégrante de la classe skeleton générée {<hierarchical-namespace-list-lower-skeleton>}::skeleton::{<service-interface-name>}Skeleton et est fournie via le fichier d'en-tête {<si-namespace-derived-directory-path-lower>}/{<si-shortname-lower>}_skeleton.h (AUTOSAR_AP_SWS_CommunicationManagement §8.4.5.2.4.1 « {<fnfmethod-name>} »). La fonction est générée dès que l'attribut ClientServerOperation.fireAndForget == TRUE est configuré dans le modèle de conception pour une ClientServerOperation.
Les aspects essentiels suivants s'appliquent à l'implémentation et au comportement à l'exécution :
- Sémantique d'appel et paramètres : La méthode accepte des paramètres d'entrée de manière analogue aux méthodes régulières selon [SWS_CM_00191]. S'agissant d'une communication purement unidirectionnelle, la signature possède le type de retour
void. Aucun paramètre de sortie ni aucune valeur de retour ne sont transmis au client appelant. - Traitement des erreurs et sécurité vis-à-vis des exceptions : L'opération est déclarée comme
noexcept=0et est ainsi spécifiée comme strictement sûre vis-à-vis des exceptions (exception safe) ([SWS_CM_90434]). Il n'existe ni codes d'erreur spécifiques à l'application ni autres canaux de retour ; l'implémentation de service ne doit laisser aucune exception C++ s'échapper de la méthode. - Contexte d'exécution et concurrence : Si le skeleton est exploité en mode
ara::com::MethodCallProcessingMode == kPoll, le traitement des appels en attente de [SWS_CM_90434] s'effectue de manière déterministe dans le contexte de thread de l'appel deProcessNextMethodCall()(AUTOSAR_AP_SWS_CommunicationManagement p. 410). En dehors du mode d'interrogation (polling), l'exécution devrait probablement avoir lieu de façon concurrente dans un thread de travail interne du middleware de communication. Question Q-08f014e191f9aab0 (ouverte)
Cette note d'utilisation a été générée automatiquement sur la base de la spécification AUTOSAR R25-11.
L'élément [SWS_CM_90434] définit la signature de mise à disposition d'une méthode unidirectionnelle (« fire-and-forget », correspondant à ClientServerOperation.fireAndForget == TRUE) au sein du squelette de service dans le périmètre {<hierarchical-namespace-list-lower-skeleton>}::skeleton::{<service-interface-name>}Skeleton. Cette méthode virtuelle pure doit être concrétisée par l'implémentation du service applicatif afin de traiter les sollicitations asynchrones émises par un client sans lui transmettre de réponse.
Signature et paramètres
La méthode est déclarée sous la forme virtual void {<fnfmethod-name>} ({<fnfmethod-in-arg-derived-type-0to N>} {<fnfmethod-in-arg-symbol-0toN>}) noexcept=0;. Les paramètres formels d'entrée sont fournis conformément aux spécifications des arguments de méthode énoncées dans [SWS_CM_00191]. En cohérence avec le modèle d'appel sans retour d'information, le type de retour est strictement void.
Gestion des erreurs et robustesse
D'après SWS CommunicationManagement §8.4.5.2.4 „Service Communication“, l'opération est qualifiée de sûre face aux exceptions (exception safe) et arbore le mot-clé noexcept. Aucun code d'erreur ou statut de retour n'est propagé au consommateur du service, l'appel étant intrinsèquement asynchrone et unilatéral.
Contexte d'exécution et concurrence
Conformément à SWS CommunicationManagement §8.4.5.2.4 „ProcessNextMethodCall“, lorsque le mode de traitement est configuré sur ara::com::MethodCallProcessingMode == kPoll, l'exécution de la méthode de service en attente est déclenchée dans le contexte du thread appelant ProcessNextMethodCall(). Vraisemblablement, le développeur du service doit s'assurer que le traitement applicatif demeure non bloquant pour ne pas retarder l'ordonnancement de la boucle de communication.
Ce texte d'utilisation a été généré automatiquement sur la base de la spécification AUTOSAR Adaptive R25-11.
Guide de l'implémenteur à venir (complexité I1)
| Header-Datei | #include "{<si-namespace-derived-directory-path-lower>}/{ <si-shortname-lower>}_skeleton.h" |
|---|---|
| Scope | class {<hierarchical-namespace-list-lower-skeleton>}::skeleton::{ <service-interface-name>}Skeleton |
| Exception-Sicherheit | exception safe |
Parameter (in)
| Parameter | Beschreibung |
|---|---|
| {<fnfmethod-in-arg-symbol-0toN>} | As per {<method-in-arg-symbol-0toN>} in [SWS_CM_00191] |
Rückgabewert
| Typ | Beschreibung |
|---|---|
| None |
Request a governed re-review of this record. The record is not changed immediately.
- Record
AUTOSAR/AP/record/SWS_CM_90434- Status
- valid/unmigrated
- Version
AUTOSAR/AP/record/SWS_CM_90434@rel:R25-11#056fd09e- Content hash
056fd09e- Source
- https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_CommunicationManagement.pdf#nameddest=SWS_CM_90434
Status: valid/unmigrated
Version: rel:R25-11#f1dee805
Versionshistorie & Revisions (1 transition, 8 revision)
- Current State
valid/unmigrated- Reason
- mechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record
- Campaign
2026-08-13-status-backfill- Active Version
AUTOSAR/AP/record/SWS_CM_90434@rel:R25-11#f1dee805
Recorded Revisions (8):
- R25-11
rel:R25-11#293042c22026-09-30 - R19-11
rel:R19-11#bbdaa18c2026-10-14 - R20-11
rel:R20-11#e392aff42026-10-14 - R21-11
rel:R21-11#e392aff42026-10-14 - R22-11
rel:R22-11#256b25262026-10-14 - R23-11
rel:R23-11#256b25262026-10-14 - R24-11
rel:R24-11#60298f242026-10-14 - R25-11
rel:R25-11#f1dee8052026-10-14 active
Requirement Text as-of this release:
Curation Decisions:
Reachable Artifacts & Dependents:
| Date | Actor | Transition | Reason / Rationale | Campaign |
|---|---|---|---|---|
| 2026-08-13 | tool | none → valid/unmigrated | mechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record | 2026-08-13-status-backfill |
gemini-3.8-flash-low· 2026-10-13 · Original allemand