Diese Seite wurde vollständig KI-generiert auf Basis von SWS Safe Hardware Acceleration (R25-11) — kein offizieller AUTOSAR-Text und keine automatisch extrahierte API-Seite wie die übrigen Module. Als Interpretation gekennzeichnete Aussagen sind Schlussfolgerungen aus den Quellen.
[AP_SWS_SHWA_00901] libellé pas encore importéUpstream: RS_SHWA_00001
class Queue final {...};
Die Spezifikation definiert diesen Klassentyp mit der gezeigten Schnittstelle.
Sert de canal d'exécution pour la transmission et la synchronisation de tâches sur le matériel accélérateur.
GÉNÉRÉ PAR IAnon vérifiéModèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : 532df7849f07ProvenanceQuestions ouvertes (1)
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand
Sert de canal d'exécution pour la transmission et la synchronisation de tâches sur le matériel accélérateur.
La classe non copiable ara::shwa::Queue sert au transfert sécurisé de tâches de calcul vers le matériel d'accélération en interaction avec des devices et des buffers SWS_SafeHardwareAcceleration p. 22 « Figure 7.1: High Level Design of Safe Hardware Acceleration in an Adaptive Platform ». Après sa création via la méthode factory Create(), les tâches sont soumises avec Submit() et synchronisées via Wait() ou WaitFor()[AP_SWS_SHWA_00909], [AP_SWS_SHWA_00914]. Comme les méthodes d'objet ne sont pas sûres vis-à-vis des threads et qu'aucune sémantique de rollback ne s'applique en cas d'erreur d'exécution, il convient de veiller à la synchronisation externe des threads et à l'intégrité des données [AP_SWS_SHWA_00912].
Contexte
La classe ara::shwa::Queue représente dans l'Adaptive Platform le canal d'exécution central pour l'accélération matérielle sécurisée. Comme l'illustre la conception globale, les applications interagissent typiquement avec une combinaison de plusieurs queues, devices et buffers SWS_SafeHardwareAcceleration p. 22 « Figure 7.1: High Level Design of Safe Hardware Acceleration in an Adaptive Platform ». Au sein de cette interaction, la queue se charge de recevoir les tâches de calcul ou ordres d'accélération et de les transmettre au device matériel sous-jacent. GetDevice() permet d'interroger le device associé [AP_SWS_SHWA_00910]. De plus, il est possible de déterminer via IsInOrder() si les ordres sont traités de manière strictement séquentielle au sein de la queue [AP_SWS_SHWA_00911]. Les capacités spécifiques ou les paramètres de la queue peuvent être vérifiés au préalable via HasProperty()[AP_SWS_SHWA_00915] et récupérés avec GetProperty()[AP_SWS_SHWA_00916].
Les instances de ara::shwa::Queue sont soumises à un modèle de possession strict. Le constructeur par défaut [AP_SWS_SHWA_00902] ainsi que les opérations de copie et de déplacement sont explicitement supprimés : le constructeur de copie [AP_SWS_SHWA_00903], l'affectation par copie [AP_SWS_SHWA_00904], le constructeur de déplacement [AP_SWS_SHWA_00905] et l'affectation par déplacement [AP_SWS_SHWA_00906] ne sont pas disponibles. Une queue n'est donc ni copiable ni déplaçable (interprétation : elle représente une ressource fixement ancrée). Question Q-9ce33460e375c45f (ouverte)
La création s'effectue exclusivement par des méthodes factory statiques Create(), qui renvoient l'objet encapsulé dans un std::unique_ptr<Queue> au sein d'un ara::core::Result. L'instanciation peut être réalisée soit à partir d'une référence Device existante [AP_SWS_SHWA_00909], soit via un DeviceSelector générique [AP_SWS_SHWA_00908]. Les deux variantes acceptent en outre un ErrorHandler et un PropertyList optionnel. Concernant la concurrence, les fonctions factory Create() sont spécifiées comme étant sûres vis-à-vis des threads [AP_SWS_SHWA_00908], [AP_SWS_SHWA_00909]. En revanche, toutes les fonctions membres régulières de l'instance créée — dont Submit(), Wait() et GetDevice() — sont déclarées non sûres vis-à-vis des threads [AP_SWS_SHWA_00910], [AP_SWS_SHWA_00912], [AP_SWS_SHWA_00914] ; les accès simultanés depuis plusieurs threads doivent par conséquent être synchronisés du côté de l'application.
Parcours d'utilisation
Le déroulement régulier s'articule en phases de création, de planification des ordres et de synchronisation :
Créer la queue : l'application crée la queue via Create() avec un device ou DeviceSelector concret ainsi que des routines de traitement d'erreurs [AP_SWS_SHWA_00909].
Transmettre l'ordre : une tâche est transmise au matériel avec Submit(). Il est possible ici soit de transmettre un ErrorHandler dédié [AP_SWS_SHWA_00912], soit d'indiquer une queue secondaire (secondaryQueue) pour les chemins de repli ou consécutifs [AP_SWS_SHWA_00913]. La méthode renvoie un ara::core::Result<Event>.
Synchroniser : l'application se synchronise sur l'achèvement des tâches soumises. Pour cela, le Wait()[AP_SWS_SHWA_00914] non limité ou le WaitFor() limité dans le temps avec indication d'une durée en millisecondes est disponible [AP_SWS_SHWA_00917].
Les méthodes signalent les cas d'erreur via le type de code d'erreur ShwaErrorCode dans le ara::core::Result :
Conflits de ressources et de paramètres : si Create() échoue, ShwaErrorCode::kResourceBusy, ShwaErrorCode::kInvalidParameter ou ShwaErrorCode::kFeatureNotSupported peuvent notamment survenir [AP_SWS_SHWA_00909]. Des sémantiques de rollback s'appliquent pour ces erreurs de création.
Appel d'objets non valides : si des méthodes telles que Submit(), Wait() ou WaitFor() sont exécutées sur des objets déjà détruits ou non valides, l'API le signale avec ShwaErrorCode::kInvalidObject[AP_SWS_SHWA_00912], [AP_SWS_SHWA_00914], [AP_SWS_SHWA_00917].
Erreurs d'exécution et intégrité des données : si une erreur survient pendant le traitement de la tâche (ShwaErrorCode::kTaskExecutionFailure ou plus généralement ShwaErrorCode::kRuntime), il n'existe explicitement aucune sémantique de rollback (no_rollback_semantics). Dans ces cas, la spécification exige que les données participant à l'exécution doivent être considérées comme involontairement modifiées [AP_SWS_SHWA_00912], [AP_SWS_SHWA_00914].
Dépassement de délai : lors de l'attente synchronisante via WaitFor(), ShwaErrorCode::kTimedOut signale l'expiration du délai imparti ; ici aussi, les données concernées doivent être classées comme potentiellement incohérentes [AP_SWS_SHWA_00917].
Ce guide repose exclusivement sur les exigences de spécification relatives à ara::shwa::Queue issues d'AUTOSAR Adaptive R25-11.
Erzeugt beziehungsweise liefert das in der Signatur beschriebene Objekt oder Ergebnis über den angegebenen Factory-Pfad.
Scope
class ara::shwa::Queue
Thread Safety
thread-safe rollback_semantics ShwaErrorCode::k Runtime General runtime error rollback_semantics ShwaErrorCode::k ResourceBusy The operation could not be performed because the resource is currently busy rollback_semantics ShwaErrorCode::kInvalid Parameter Invalid argument to an API function rollback_semantics
Exception Safety
exception safe
Errors
ShwaErrorCode::k FeatureNotSupported Used when a requested feature isn’t supported
Request a governed re-review of this record. The record is not changed immediately.
Erzeugt beziehungsweise liefert das in der Signatur beschriebene Objekt oder Ergebnis über den angegebenen Factory-Pfad.
Scope
class ara::shwa::Queue
Thread Safety
thread-safe rollback_semantics ShwaErrorCode::k Runtime General runtime error rollback_semantics ShwaErrorCode::k ResourceBusy The operation could not be performed because the resource is currently busy rollback_semantics ShwaErrorCode::kInvalid Parameter Invalid argument to an API function rollback_semantics
Exception Safety
exception safe
Errors
ShwaErrorCode::k FeatureNotSupported Used when a requested feature isn’t supported
Request a governed re-review of this record. The record is not changed immediately.
Die Spezifikation definiert diese Deklaration mit der in der Signatur ausgewiesenen Semantik.
Scope
class ara::shwa::Queue
Thread Safety
not thread-safe no_rollback_semantics ShwaErrorCode::k Runtime General runtime error. The data used within failed task execution should be considered as changed in unintended way
Exception Safety
exception safe
Errors
ShwaErrorCode::k ResourceBusy no_rollback_semantics The operation could not be performed because the resource is currently busy no_rollback_semantics ShwaErrorCode::kInvalid Parameter Invalid argument to an API function no_rollback_semantics ShwaErrorCode::kInvalid Object Using a destroyed or invalid object (like a buffer or queue) no_rollback_semantics ShwaErrorCode::kTask ExecutionFailure Error during task execution. The data used within failed task execution should be considered as changed in unintended way
Request a governed re-review of this record. The record is not changed immediately.
Die Spezifikation definiert diese Deklaration mit der in der Signatur ausgewiesenen Semantik.
Scope
class ara::shwa::Queue
Thread Safety
not thread-safe no_rollback_semantics ShwaErrorCode::k Runtime General runtime error. The data used within failed task execution should be considered as changed in unintended way no_rollback_semantics ShwaErrorCode::k ResourceBusy The operation could not be performed because the resource is currently busy no_rollback_semantics ShwaErrorCode::kInvalid Parameter Invalid argument to an API function no_rollback_semantics ShwaErrorCode::kInvalid Object Using a destroyed or invalid object (like a buffer or queue) no_rollback_semantics
Exception Safety
exception safe
Errors
ShwaErrorCode::kTask ExecutionFailure Error during task execution. The data used within failed task execution should be considered as changed in unintended way
Request a governed re-review of this record. The record is not changed immediately.
Synchronisiert gemäß der Signatur auf den Abschluss assoziierter oder abhängiger Aufgaben; die zeitbegrenzte Variante begrenzt das Warten.
Scope
class ara::shwa::Queue
Thread Safety
not thread-safe no_rollback_semantics ShwaErrorCode::k Runtime General runtime error. The data used within failed task execution should be considered as changed in unintended way rollback_semantics ShwaErrorCode::k ResourceBusy The operation could not be performed because the resource is currently busy rollback_semantics ShwaErrorCode::kInvalid Object Using a destroyed or invalid object (like a buffer or queue) rollback_semantics ShwaErrorCode::k FeatureNotSupported Used when a requested feature isn’t supported no_rollback_semantics
Exception Safety
exception safe
Errors
ShwaErrorCode::kTask ExecutionFailure Error during task execution. The data used within failed task execution should be considered as changed in unintended way
Request a governed re-review of this record. The record is not changed immediately.
Synchronisiert gemäß der Signatur auf den Abschluss assoziierter oder abhängiger Aufgaben; die zeitbegrenzte Variante begrenzt das Warten.
Scope
class ara::shwa::Queue
Thread Safety
not thread-safe no_rollback_semantics ShwaErrorCode::k Runtime General runtime error. The data used within failed task execution should be considered as changed in unintended way rollback_semantics ShwaErrorCode::k ResourceBusy The operation could not be performed because the resource is currently busy rollback_semantics ShwaErrorCode::kInvalid Object Using a destroyed or invalid object (like a buffer or queue) rollback_semantics ShwaErrorCode::k FeatureNotSupported Used when a requested feature isn’t supported no_rollback_semantics ShwaErrorCode::kTask ExecutionFailure Error during task execution. The data used within failed task execution should be considered as changed in unintended way no_rollback_semantics
Exception Safety
exception safe
Errors
ShwaErrorCode::kTimed Out Task execution timed-out. The data used within failed task execution should be considered as changed in unintended way
Request a governed re-review of this record. The record is not changed immediately.
gemini-3.8-flash-low· 2026-10-13 · Original allemand