función Allocate [SWS_CM_90438] Upstream: RS_CM_00201, RS_AP_00114, RS_AP_00115, RS_AP_00120
ara::com::SampleAllocateePtr< SampleType > Allocate ();
Allocating data for event transfer when Communication Management is responsible for the data.
El método Allocate se invoca a nivel de Skeleton para un evento ([SWS_CM_90438]; AUTOSAR_AP_EXP_ARAComAPI §5.4.1 «Skeleton Class API’s») con el fin de asignar memoria para la transferencia de datos de eventos cuando el Communication Management (ara::com) es responsable de la gestión de los datos ([SWS_CM_90438]). Devuelve una instancia de tipo ara::com::SampleAllocateePtr<SampleType> ([SWS_CM_90438]). Conceptualmente, este tipo de puntero se comporta como un std::unique_ptr<T>, de modo que solo una parte es propietaria del puntero en cada momento (ARAComAPI §6 «Event Allocate/Send sample Binding implementer hint»).
En cuanto al tratamiento de errores y la seguridad frente a excepciones, Allocate está especificado como not exception safe ([SWS_CM_90438]). La especificación define dos posibles infracciones (violations):
SampleAllocationViolation: No hay suficientes recursos de memoria disponibles para asignar los datos ([SWS_CM_90438]).AllocateUsageViolation: La asignación se realizó de forma inadmisible a través de un asignador personalizado ([SWS_CM_90438]).
El concepto tras Allocate tiene como objetivo primordial admitir mecanismos de copia cero (zero-copy), en particular con transporte IPC basado en memoria compartida, presuponiendo una sincronización estricta entre lectores y escritores (ARAComAPI §6 «Event Allocate/Send sample Binding implementer hint»). Los implementadores deben tener en cuenta que los requisitos de serialización pueden anular la copia cero si los tipos de datos no están configurados como compatibles binariamente en el despliegue o si una lógica de detección lo descarta (ARAComAPI §6 «Event Allocate/Send sample Binding implementer hint»).
En interacción con el envío de eventos, el puntero de memoria obtenido a través de Allocate se pasa a Send(ara::com::SampleAllocateePtr<SampleType> data) ([SWS_CM_90437]). Tras la invocación de Send, la aplicación de servicio ya no debe acceder a los datos una vez que el Communication Management envía los datos a todas las aplicaciones suscritas ([SWS_CM_90437]).
Este texto ha sido generado por una IA y se basa exclusivamente en los documentos de especificación de la versión R25-11 de AUTOSAR.
Guía del implementador pendiente (complejidad I2)
| Header-Datei | #include "<SiNamespaceDerivedDirectoryPath>/<SiShortname>_skeleton.h" |
|---|---|
| Scope | class <SI-Namespace>::skeleton:: events::<Event> |
| Exception-Sicherheit | not exception safe |
| Verletzungen (Violations) | SampleAllocation- Not enough memory resources can be allocated Violation AllocateUsageVio- The allocation was illegally done via custom allocator lation |
Rückgabewert
| Typ | Beschreibung |
|---|---|
| ara::com::Sample | A ara::com::SampleAllocateePtr to an event sample AllocateePtr< Sample Type > |
Request a governed re-review of this record. The record is not changed immediately.
- Record
AUTOSAR/AP/record/SWS_CM_90438- Status
- valid/unmigrated
- Version
AUTOSAR/AP/record/SWS_CM_90438@rel:R25-11#c15164f3- Content hash
c15164f3- Source
- https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_CommunicationManagement.pdf#nameddest=SWS_CM_90438
Status: valid/unmigrated
Version: rel:R25-11#3059e6d8
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_90438@rel:R25-11#3059e6d8
Recorded Revisions (8):
- R25-11
rel:R25-11#b02a325f2026-09-30 - R19-11
rel:R19-11#b404edd72026-10-14 - R20-11
rel:R20-11#8f3783f62026-10-14 - R21-11
rel:R21-11#a234befb2026-10-14 - R22-11
rel:R22-11#340e44dd2026-10-14 - R23-11
rel:R23-11#340e44dd2026-10-14 - R24-11
rel:R24-11#2e4120f42026-10-14 - R25-11
rel:R25-11#3059e6d82026-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 en alemán