Raw Data Stream 모듈에서 IEEE 1722 데이터그램을 위한 공통 AVTPDU 헤더 필드를 정의합니다.
컨텍스트
AUTOSAR Adaptive Platform에서 Raw Data Stream(RDS) 모듈은 비구조화된 데이터 스트림 및 표준화된 스트리밍 프로토콜의 효율적인 교환을 위한 메커니즘을 제공합니다. 클래스 ara::rds::IEEE1722DatagramAVTPDUCommonHeaderFields은(는) SWS RawDataStream §1 “IEEE 1722 Datagram”에 지정된 바와 같이 이 모듈 내에서 IEEE 1722에 따른 Audio/Video Transport Protocol Data Unit(AVTPDU)의 공통 헤더 필드(Common Header Fields)를 나타내는 기본 표현 역할을 합니다.
이 구조체는 IEEE 1722 표준에서 AVTPDU 데이터그램용으로 정의된 필수 프로토콜 필드를 캡슐화합니다. 여기에는 AVTP 표준의 프로토콜 버전을 매핑하는 std::uint8_t 유형의 속성 version([SWS_RDS_90232])이(가) 포함됩니다. 또한 std::uint16_t 유형의 데이터 필드 avtpStreamDataSubtype([SWS_RDS_90230])은(는) 전송되는 데이터 스트림의 특정 형식을 식별하기 위해 AVTP 스트리밍 페이로드의 하위 유형을 수용합니다. 아울러 std::uint8_t 형식의 요소 headerSpecific([SWS_RDS_90231])은(는) AVTPDU 헤더의 프로토콜 및 형식별 제어 비트와 플래그를 저장합니다.
클래스의 모든 페이로드 필드는 접근 제어자 protected 아래에 선언됩니다. 이로부터 ara::rds::IEEE1722DatagramAVTPDUCommonHeaderFields은(는) 사용자가 직접 독립 실행형 값 객체로 인스턴스화하기보다는, RDS 모듈 내에서 특수화된 IEEE 1722 데이터그램 클래스를 위한 근본적인 기본 클래스로 주로 설계되었을 것이라는 해석이 도출됩니다. 질문 Q-674fc96343869829 (열림)
수명 주기
ara::rds::IEEE1722DatagramAVTPDUCommonHeaderFields의 수명 주기는 기본 헤더 구조체로서의 역할을 따릅니다. 인스턴스화는 이 기본 클래스로부터 상속받는 구체적인 특수화와 결합하여 수행됩니다. 보호된 속성 version([SWS_RDS_90232]), avtpStreamDataSubtype([SWS_RDS_90230]) 및 headerSpecific([SWS_RDS_90231])의 할당 및 초기화는 일반적으로 파생 클래스의 생성자에서 수행됩니다.
인스턴스 소멸을 위해 사양은 가상 소멸자 ~IEEE1722DatagramAVTPDUCommonHeaderFields() noexcept([SWS_RDS_90233])을(를) 명시적으로 제공합니다. 이 가상 소멸자의 존재는 기본 클래스에 대한 포인터 또는 참조를 통해 파생된 데이터그램 객체가 정의되지 않은 동작이나 리소스 누수 없이 다형적으로 안전하게 소멸될 수 있도록 보장합니다. 지정자 noexcept을(를) 통해 소멸 프로세스 중 예외가 발생할 수 없음이 계약상 보장됩니다.
소유권 및 메모리 관리와 관련하여 클래스는 RDS 모듈의 데이터 전송 객체에 대한 일반적인 규칙을 따릅니다. 인스턴스는 일반적으로 처리 함수의 스택에 유지되거나 상위 데이터 버퍼 및 스트림 핸들러에 의해 관리됩니다. 동시성과 관련하여 데이터 구조체는 내부 동기화 메커니즘을 제공하지 않습니다. 해석: 따라서 여러 스레드가 동일한 인스턴스에 동시에 접근하려면 호출 애플리케이션 또는 주변 런타임 시스템에 의한 외부 동기화가 필요할 것으로 보입니다. 질문 (열림)
사용 경로
일반적인 사용 경로는 스트리밍 연결 프레임워크 내에서 데이터그램의 생성, 채우기 및 평가로 나뉩니다. 필드가 보호되어 있으므로 개발자는 특수화된 하위 클래스를 통해 기본 필드에 접근합니다.
IEEE 1722 데이터 스트림을 전송할 때 애플리케이션 또는 RDS 모듈의 내부 파이프라인은 파생된 데이터그램 클래스를 인스턴스화합니다. 그런 다음 공통 AVTPDU 헤더 필드가 채워집니다. 필드 version([SWS_RDS_90232])은(는) 각각 지원되는 프로토콜 버전 수준으로 설정됩니다. 수신자가 데이터 스트림을 디코딩할 수 있도록 필드 avtpStreamDataSubtype([SWS_RDS_90230])에는 특정 페이로드 유형의 식별 값이 부여됩니다. 마지막으로 파생 구현은 IEEE 1722 사양에 따라 필요한 제어 비트로 필드 headerSpecific([SWS_RDS_90231])을(를) 구성합니다.
Raw Data Stream을 통해 네트워크 패킷을 수신할 때는 역순의 프로세스가 수행됩니다. 수신된 원시 데이터는 역직렬화되어 파생된 데이터그램 클래스의 해당 속성으로 전송됩니다. 이후 상위 컴포넌트는 다형성 인터페이스 또는 하위 클래스의 형식화된 접근 메서드를 통해 헤더 정보를 검사할 수 있습니다. AVTPDU 페이로드가 대상 싱크로 성공적으로 처리 및 전달된 후 데이터그램이 해제되며, 이때 가상 소멸자([SWS_RDS_90233])가 모든 리소스의 안전한 해제를 보장합니다. 해석: 네트워크를 통한 직렬화된 전송은 아마도 바이트 스트림에서 IEEE 1722에 부합하도록 헤더를 정렬하는 RDS 스택의 후속 직렬화기를 통해 수행될 것으로 보입니다. 질문 Q-7f31ac02b5e4facf (열림)
오류 시나리오
ara::rds::IEEE1722DatagramAVTPDUCommonHeaderFields 작업 시의 오류 시나리오는 주로 헤더 필드의 잘못된 값이나 부적절한 수명 주기 관리로 인해 발생합니다.
데이터 요소 수준에서 유효하지 않은 값은 프로토콜 위반으로 이어질 수 있습니다. 예를 들어 version([SWS_RDS_90232])에 대해 상대 측에서 지원하지 않는 버전 값이 전달되면 통신 파트너가 전체 AVTPDU를 폐기할 수 있습니다. 마찬가지로 잘못 설정된 필드 avtpStreamDataSubtype([SWS_RDS_90230])은(는) 수신자가 데이터 스트림을 적절한 디코더에 올바르게 할당하지 못하게 만듭니다. headerSpecific([SWS_RDS_90231])의 일관되지 않은 설정은 동기화 플래그 또는 데이터 길이에 대한 잘못된 해석을 초래할 수 있습니다.
C++ 수준에서 가상 소멸자 ~IEEE1722DatagramAVTPDUCommonHeaderFields() noexcept([SWS_RDS_90233])은(는) 소멸 프로세스 중의 예외를 배제합니다. 리소스 해제 중 파생 클래스가 자체 오류 처리 로직을 실행하는 경우, std::terminate을(를) 통한 즉각적인 프로그램 중단을 방지하기 위해 그곳에서도 예외가 발생하지 않도록 보장해야 합니다.
이 가이드는 AUTOSAR Adaptive R25-11 사양을 기반으로 하며 자동으로 생성되었습니다.
gemini-3.8-flash-low· 2026-10-13 · 독일어 원문