Diese Seite wurde vollständig KI-generiert auf Basis von SWS Raw Data Stream (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.
Serve como classe base para o encapsulamento de buffers de dados úteis IEEE 1722 e indicações de comprimento no streaming de dados brutos.
GERADO POR IAnão revisadoModelo: gemini-3.8-flash-medium · Esforço: medium · Temperatura: não controlável · Prompt: 187f3b1b82ddProcedênciaPerguntas em aberto (2)
traduzido do guia alemãogemini-3.8-flash-low · 2026-10-13 · Original em alemão
Serve como classe base para o encapsulamento de buffers de dados úteis IEEE 1722 e indicações de comprimento no streaming de dados brutos.
A classe ara::rds::IEEE1722Datagram serve no módulo rds como classe base para o encapsulamento de datagramas de streaming IEEE 1722 (AUTOSAR_AP_SWS_RawDataStream p. 1). Por meio do atributo protegido data, ela gerencia o buffer dinâmico de bytes sob posse exclusiva e mantém com stream_data_length o respectivo comprimento de dados úteis. A liberação dos recursos de buffer alocados ocorre de forma determinística e livre de exceções por meio do destrutor virtual ~IEEE1722Datagram()[SWS_RDS_90228]. Não existe sincronização interna para acessos concorrentes, de modo que utilizações entre threads devem ser protegidas externamente.
Contexto
A classe ara::rds::IEEE1722Datagram atua no módulo rds (Raw Data Stream) da AUTOSAR Adaptive Platform como representação base para datagramas segundo o padrão IEEE 1722 (AUTOSAR_AP_SWS_RawDataStream p. 1). Ela é declarada por meio do cabeçalho ara/rds/raw_data_stream_IEEE1722.h e serve como fundamento estrutural para o transporte de dados de streaming com restrições temporais na rede veicular, em especial por meio do Audio Video Transport Protocol (AVTP).
Interpretação: Ao disponibilizar atributos protegidos e um destrutor virtual, é provável que ara::rds::IEEE1722Datagram sirva como classe base comum para diversas estruturas especializadas de datagramas AVTP. Pergunta Q-bb382ff193640c8f (aberta) Nesse contexto, a especificação define tipos correlatos como IEEE1722DatagramAVTPDUCommonHeaderFields[SWS_RDS_90233], IEEE1722DatagramAVTPDUCommonStreamHeaderFields[SWS_RDS_90242], IEEE1722Datagram61883_IIDC[SWS_RDS_90260], IEEE1722DatagramAAF[SWS_RDS_90273], bem como IEEE1722DatagramTSCF[SWS_RDS_90275]. Juntos, esses parceiros de interação mapeiam a estrutura do protocolo para diferentes formatos de carga útil (payload).
O ciclo de vida de uma instância de datagrama é determinado principalmente pelo gerenciamento do buffer de dados correspondente e pelo paradigma RAII. O atributo data é declarado como std::unique_ptr<ara::core::Byte[]> protegido [SWS_RDS_90226]. Isso estabelece uma relação de posse exclusiva: um datagrama possui seu buffer de bytes exclusivamente, evitando-se a cópia involuntária de grandes volumes de dados no nível de tipo.
Junto com o buffer, o comprimento dos dados úteis válidos é mantido por meio do campo protegido stream_data_length do tipo std::uint16_t[SWS_RDS_90227]. A liberação dos recursos ocorre de forma determinística: a classe disponibiliza um destrutor virtual ~IEEE1722Datagram() noexcept[SWS_RDS_90228]. Este garante que, na destruição de instâncias derivadas por meio de um ponteiro para a classe base, todos os recursos sejam liberados completamente e sem vazamentos de memória.
Em relação à concorrência, a classe base não contém mecanismos internos de sincronização. Presumivelmente, o acesso simultâneo à mesma instância de datagrama a partir de múltiplas threads requer coordenação externa pelo componente utilizador. Pergunta (aberta)
Caminho de utilização
Em um fluxo típico de processamento dentro do streaming de dados brutos, o uso ocorre por meio de formas concretas de protocolo como IEEE1722DatagramAAF[SWS_RDS_90273] ou IEEE1722DatagramTSCF[SWS_RDS_90275]:
Criação e alocação de buffer: Uma instância de datagrama especializada é instanciada, e o buffer de dados protegido data é inicializado como std::unique_ptr<ara::core::Byte[]> com a região de memória necessária [SWS_RDS_90226].
Definição do comprimento: O comprimento real dos dados úteis do stream é registrado em stream_data_length[SWS_RDS_90227].
Transferência e processamento: Interpretação: O datagrama deve ser preferencialmente transportado pela pipeline de processamento do módulo rds por meio de semântica de movimentação (move semantics), a fim de evitar operações desnecessárias de cópia de dados de streaming. Pergunta Q-ff084c9788ec5cdc (aberta)
Destruição: Após a conclusão do processamento, o datagrama sai de seu escopo de validade; o destrutor virtual ~IEEE1722Datagram() é chamado e o buffer é desalocado automaticamente [SWS_RDS_90228].
Cenários de erro
Erros no manuseio de ara::rds::IEEE1722Datagram podem ocorrer especialmente no gerenciamento de memória e na verificação de limites:
Erro de alocação de memória: se a alocação do array de bytes dinâmico para data falhar, isso pode levar a uma exceção de memória padrão (std::bad_alloc) antes que o datagrama seja disponibilizado de forma válida [SWS_RDS_90226].
Inconsistência de comprimento: se for inserido para stream_data_length um valor que exceda o tamanho real da memória alocada através de data, há risco de estouros de buffer durante acessos de leitura [SWS_RDS_90227]. Classes derivadas devem garantir a consistência entre a alocação do buffer e a indicação de comprimento.
Segurança contra exceções durante a destruição: o destruidor é explicitamente declarado como noexcept[SWS_RDS_90228]. Isso garante que nenhuma exceção seja propagada durante a destruição do objeto, o que é essencial para a estabilidade de cadeias RAII.
Este guia foi gerado por uma IA com base na especificação AUTOSAR Adaptive R25-11.
gemini-3.8-flash-low· 2026-10-13 · Original em alemão