Implementation Verification Report¶
Summary¶
- Total Requirements: 649
- Annotated (in code): 334
- Missing Annotations (code exists): 0
-
Truly Missing (no code found): 315
-
Effective Implementation Rate: 334/649 (51.5%)
Requirements Truly Missing Implementation¶
These requirements have no detected implementation.
Error Handling (24 missing)¶
- REQ_COMPAT_001_E01: Error - Forward Compatibility Length Clamp →
src/someip/message.cpp - REQ_COMPAT_003_E01: Error - Unknown Message Dropped Count →
src/someip/message.cpp - REQ_COMPAT_010_E01: Error - Incompatible Major Version →
src/someip/message.cpp - REQ_COMPAT_020_E01: Error - Reserved Service ID in Application Message →
src/someip/message.cpp - REQ_PAL_CV_EXCEPT_E01: Error - ConditionVariable Exception Safety →
include/platform/host/host_condition_variable.h - REQ_PAL_MEM_EXHAUST_E01: Error - Memory Pool Exhaustion →
include/platform/freertos/memory_impl.h - REQ_PAL_MEM_THREADSAFE_E01: Error - Memory Pool Thread Safety →
include/platform/freertos/memory_impl.h - REQ_PAL_MUTEX_UNLOCK_E01: Error - Mutex Double Unlock →
include/platform/freertos/thread_impl.h - REQ_PAL_NET_MODE_E01: Error - Socket Mode Change Failure →
include/platform/posix/net_impl.h - REQ_PAL_THREAD_CREATE_E01: Error - Thread Creation Failure →
include/platform/freertos/thread_impl.h - REQ_PAL_THREAD_DTOR_E01: Error - Thread Destructor Without Join →
include/platform/freertos/thread_impl.h - REQ_TRANSPORT_001_E01: Error - UDP Send Failure →
src/transport/udp_transport.cpp - REQ_TRANSPORT_001_E02: Error - UDP Bind Failure →
src/transport/udp_transport.cpp - REQ_TRANSPORT_001_E03: Error - UDP Receive Buffer Too Small →
src/transport/udp_transport.cpp - REQ_TRANSPORT_002_E01: Error - TCP Connection Refused →
src/transport/tcp_transport.cpp - REQ_TRANSPORT_002_E02: Error - TCP Connection Reset →
src/transport/tcp_transport.cpp - REQ_TRANSPORT_002_E03: Error - TCP Message Framing Error →
src/transport/tcp_transport.cpp - REQ_TRANSPORT_002_E04: Error - TCP Send on Disconnected Socket →
src/transport/tcp_transport.cpp - REQ_TRANSPORT_003_E01: Error - TCP Server Socket Exhaustion →
src/transport/tcp_transport.cpp - REQ_TRANSPORT_006_E01: Error - Endpoint Address Format Invalid →
include/transport/endpoint.h - REQ_TRANSPORT_011_E01: Error - Multicast Join Failure →
src/transport/udp_transport.cpp - REQ_TRANSPORT_011_E02: Error - UDP Multicast TTL Configuration →
src/transport/udp_transport.cpp - REQ_TRANSPORT_014_E01: Error - Port Already In Use →
src/transport/udp_transport.cpp - REQ_TRANSPORT_016_E01: Error - TCP Reconnection Exhaustion →
src/transport/tcp_transport.cpp
Message Header (51 missing)¶
- REQ_MSG_010_E01: Error - Message Length Overflow →
src/someip/message.cpp - REQ_MSG_020_E01: Error - Request ID All Zeros →
src/someip/message.cpp - REQ_MSG_040_E01: Error - Interface Version Zero →
src/someip/message.cpp - REQ_MSG_053_E01: Error - Notification With Non-Zero Return Code →
src/someip/message.cpp - REQ_MSG_054_E01: Error - Response Message Type for Non-Request →
src/rpc/rpc_client.cpp - REQ_MSG_090_E01: Error - Serialization Output Buffer Full →
src/someip/message.cpp - REQ_MSG_110: Service Instance ID Support →
include/sd/sd_types.h - REQ_MSG_110_E01: Error - Invalid Service Instance ID →
include/sd/sd_types.h - REQ_MSG_111: Service ID Uniqueness →
include/someip/types.h - REQ_MSG_112: Non-SOME/IP Service ID 0xFFFE →
include/someip/types.h - REQ_MSG_113: Eventgroup ID Support →
include/sd/sd_types.h - REQ_MSG_113_E01: Error - Duplicate Eventgroup ID →
include/events/event_types.h - REQ_MSG_114: Request/Response Header Construction →
src/rpc/rpc_client.cpp - REQ_MSG_114_E01: Error - Response Without Matching Request →
src/rpc/rpc_client.cpp - REQ_MSG_114_E02: Error - Response Timeout →
src/rpc/rpc_client.cpp - REQ_MSG_115: Fire-and-Forget No Response →
src/someip/message.cpp - REQ_MSG_116: Response IP Address Mapping →
src/rpc/rpc_server.cpp - REQ_MSG_117: Payload Field Extraction →
src/someip/message.cpp - REQ_MSG_117_E01: Error - Payload Size Exceeds Maximum →
src/someip/message.cpp - REQ_MSG_118: Session Handling for Request/Response →
src/core/session_manager.cpp - REQ_MSG_118_E01: Error - Session ID Zero in Active Session →
src/core/session_manager.cpp - REQ_MSG_119: Session Handling for Events →
src/events/event_publisher.cpp - REQ_MSG_120: Client ID Configurable Prefix →
src/rpc/rpc_client.cpp - REQ_MSG_120_E01: Error - Client ID Conflict →
src/rpc/rpc_client.cpp - REQ_MSG_121A: Event Delivery to All Subscribers →
src/events/event_publisher.cpp - REQ_MSG_121B: Suppress Events to Non-Subscribers →
src/events/event_publisher.cpp - REQ_MSG_121C: Event Delivery After Unsubscribe →
src/events/event_publisher.cpp - REQ_MSG_121_E01: Error - Event Publish to No Subscribers →
src/events/event_publisher.cpp - REQ_MSG_121_E02: Error - Event Publish After Shutdown →
src/events/event_publisher.cpp - REQ_MSG_122: Selective Event Sending →
src/events/event_subscriber.cpp - REQ_MSG_123: Field Getter Support →
src/events/event_subscriber.cpp - REQ_MSG_123_E01: Error - Field Getter Not Available →
src/events/event_subscriber.cpp - REQ_MSG_124: Field Setter Support →
src/events/event_publisher.cpp - REQ_MSG_124_E01: Error - Field Setter Validation Failure →
src/events/event_publisher.cpp - REQ_MSG_125: Field Notifier Support →
src/events/event_publisher.cpp - REQ_MSG_125_E01: Error - Duplicate Field Notifier Registration →
src/events/event_publisher.cpp - REQ_MSG_126: No Field Without Accessors →
include/events/event_publisher.h - REQ_MSG_127: No Error for Fire-and-Forget →
src/rpc/rpc_server.cpp - REQ_MSG_128: No Error for Events →
src/rpc/rpc_server.cpp - REQ_MSG_129: Error Header Copy →
src/rpc/rpc_server.cpp - REQ_MSG_130: No Error Response to Error Messages →
src/rpc/rpc_server.cpp - REQ_MSG_131: Return Code Configuration →
include/someip/types.h - REQ_MSG_132A: Exception Message Type 0x81 →
src/rpc/rpc_server.cpp - REQ_MSG_132B: Exception Message Payload →
src/someip/message.cpp - REQ_MSG_133A: Error Check Step 1 - Protocol Version →
src/someip/message.cpp - REQ_MSG_133B: Error Check Step 2 - Message Type →
src/someip/message.cpp - REQ_MSG_133C: Error Check Step 3 - Service and Method Validation →
src/rpc/rpc_server.cpp - REQ_MSG_134: Service Instance Port Multiplexing →
src/sd/sd_server.cpp - REQ_MSG_135: Error Message Handling →
src/someip/message.cpp - REQ_MSG_140: IP Address and Port Mapping →
src/transport/udp_transport.cpp - REQ_MSG_141: Publish/Subscribe Support →
src/events/event_publisher.cpp
Other (70 missing)¶
- REQ_COMPAT_001: Receive Longer Messages Gracefully →
src/someip/message.cpp - REQ_COMPAT_002: Default Values for Missing Parameters →
src/serialization/serializer.cpp - REQ_COMPAT_003: Drop Unknown Messages →
src/someip/message.cpp - REQ_COMPAT_004: Open Service Instance Access →
src/someip/message.cpp - REQ_COMPAT_005: FindService Wildcard Minor Version →
src/sd/sd_client.cpp - REQ_COMPAT_010: Multi-Version Service Hosting →
src/someip/message.cpp - REQ_COMPAT_011: Multi-Version Client Discovery →
src/sd/sd_client.cpp - REQ_COMPAT_020: Reserved Service ID Table →
src/someip/message.cpp - REQ_COMPAT_021: Reserved Instance ID Table →
src/someip/message.cpp - REQ_COMPAT_022: Reserved Method ID and Event ID Table →
src/someip/message.cpp - REQ_COMPAT_023: Reserved Eventgroup ID Table →
src/sd/sd_message.cpp - REQ_COMPAT_024: Service 0xFFFF Method IDs →
src/sd/sd_message.cpp - REQ_COMPAT_030: Multi-Version Configuration →
include/sd/sd_types.h - REQ_PAL_BYTE_HTONL: PAL Host-to-Network 32-bit Conversion →
include/platform/posix/byteorder_impl.h - REQ_PAL_BYTE_HTONS: PAL Host-to-Network 16-bit Conversion →
include/platform/posix/byteorder_impl.h - REQ_PAL_BYTE_NTOHL: PAL Network-to-Host 32-bit Conversion →
include/platform/posix/byteorder_impl.h - REQ_PAL_BYTE_NTOHS: PAL Network-to-Host 16-bit Conversion →
include/platform/posix/byteorder_impl.h - REQ_PAL_CV_NOTIFY_ALL: PAL ConditionVariable Notify All →
include/platform/host/host_condition_variable.h - REQ_PAL_CV_NOTIFY_ONE: PAL ConditionVariable Notify One →
include/platform/host/host_condition_variable.h - REQ_PAL_CV_OWNERSHIP: PAL ConditionVariable Mutex Ownership Guarantee →
include/platform/host/host_condition_variable.h - REQ_PAL_CV_WAIT: PAL ConditionVariable Wait →
include/platform/host/host_condition_variable.h - REQ_PAL_CV_WAIT_PRED: PAL ConditionVariable Wait with Predicate →
include/platform/host/host_condition_variable.h - REQ_PAL_LOCK_ACQUIRE: PAL ScopedLock Acquisition on Construction →
include/platform/thread.h - REQ_PAL_LOCK_NONCOPY: PAL ScopedLock Non-Copyable →
include/platform/thread.h - REQ_PAL_LOCK_RELEASE: PAL ScopedLock Release on Destruction →
include/platform/thread.h - REQ_PAL_MEM_ALLOC: PAL Memory Allocation →
include/platform/memory.h - REQ_PAL_MEM_INDEPENDENT: PAL Memory Independence →
include/platform/posix/memory_impl.h - REQ_PAL_MUTEX_LOCK: PAL Mutex Lock →
include/platform/posix/thread_impl.h - REQ_PAL_MUTEX_NONCOPY: PAL Mutex Non-Copyable →
include/platform/freertos/thread_impl.h - REQ_PAL_MUTEX_TRYLOCK: PAL Mutex Try Lock →
include/platform/posix/thread_impl.h - REQ_PAL_MUTEX_UNLOCK: PAL Mutex Unlock →
include/platform/posix/thread_impl.h - REQ_PAL_NET_BLOCK: PAL Socket Set Blocking →
include/platform/posix/net_impl.h - REQ_PAL_NET_CLOSE: PAL Socket Close →
include/platform/posix/net_impl.h - REQ_PAL_NET_NONBLOCK: PAL Socket Set Non-Blocking →
include/platform/posix/net_impl.h - REQ_PAL_NET_SHUTDOWN: PAL Socket Shutdown →
include/platform/posix/net_impl.h - REQ_PAL_SLEEP_DURATION: PAL sleep_for Minimum Duration →
include/platform/posix/thread_impl.h - REQ_PAL_SLEEP_ZERO: PAL sleep_for Zero Duration →
include/platform/freertos/thread_impl.h - REQ_PAL_THREAD_CREATE: PAL Thread Creation →
include/platform/posix/thread_impl.h - REQ_PAL_THREAD_JOIN: PAL Thread Join →
include/platform/freertos/thread_impl.h - REQ_PAL_THREAD_JOINABLE: PAL Thread Joinable Query →
include/platform/freertos/thread_impl.h - REQ_PAL_THREAD_NONCOPY: PAL Thread Non-Copyable →
include/platform/freertos/thread_impl.h - REQ_PLATFORM_LWIP_002: lwIP Byte-Order Backend →
include/platform/lwip/byteorder_impl.h - REQ_PLATFORM_POSIX_001: POSIX/Host Threading Backend
- REQ_PLATFORM_POSIX_002: POSIX/Host Memory Backend →
include/platform/posix/memory_impl.h - REQ_PLATFORM_POSIX_003: POSIX/Host Networking Backend
- REQ_PLATFORM_POSIX_004: POSIX/Host Byte-Order Backend →
include/platform/posix/byteorder_impl.h - REQ_PLATFORM_WIN32_001: Win32 Threading Backend →
include/platform/win32/thread_impl.h - REQ_PLATFORM_WIN32_002: Win32 Memory Backend →
include/platform/win32/memory_impl.h - REQ_PLATFORM_WIN32_003: Win32 Networking Backend →
include/platform/win32/net_impl.h - REQ_PLATFORM_WIN32_004: Win32 Byte-Order Backend →
include/platform/win32/byteorder_impl.h - REQ_PLATFORM_ZEPHYR_001: Zephyr Threading Backend
- REQ_PLATFORM_ZEPHYR_002: Zephyr Memory Pool Backend →
include/platform/zephyr/memory_impl.h - REQ_PLATFORM_ZEPHYR_003: Zephyr Networking Backend
- REQ_PLATFORM_ZEPHYR_004: Zephyr Byte-Order Backend →
include/platform/zephyr/byteorder_impl.h - REQ_TRANSPORT_010: nPDU Feature Support →
src/transport/udp_transport.cpp - REQ_TRANSPORT_011: UDP Multicast Support →
src/transport/udp_transport.cpp - REQ_TRANSPORT_012: Multicast Threshold Switching →
src/transport/udp_transport.cpp - REQ_TRANSPORT_013: Internal Message Multiplexing →
src/rpc/rpc_server.cpp - REQ_TRANSPORT_014: Port Configuration →
include/transport/udp_transport.h - REQ_TRANSPORT_015: Ephemeral Port Range →
include/transport/endpoint.h - REQ_TRANSPORT_016: Client-Initiated TCP Connection →
src/transport/tcp_transport.cpp - REQ_TRANSPORT_017: TCP Connection Sharing →
src/transport/tcp_transport.cpp - REQ_TRANSPORT_018: TCP Connection Closure →
src/transport/tcp_transport.cpp - REQ_TRANSPORT_019: TCP Timeout on Connection Loss →
src/transport/tcp_transport.cpp - REQ_TRANSPORT_020: TCP Magic Cookie Messages →
src/transport/tcp_transport.cpp - REQ_TRANSPORT_021: Magic Cookie Fallback Heuristic →
src/transport/tcp_transport.cpp - REQ_TRANSPORT_022: Multiple Service Instance Port Binding →
src/sd/sd_server.cpp - REQ_TRANSPORT_023: Client Server Address Resolution →
src/sd/sd_client.cpp - REQ_TRANSPORT_024: Unaligned Message Reception →
src/transport/tcp_transport.cpp - REQ_TRANSPORT_025: Magic Cookie Message Format →
src/transport/tcp_transport.cpp
Serialization (33 missing)¶
- REQ_SER_010_E01: Error - Signed Integer Overflow Detection →
src/serialization/serializer.cpp - REQ_SER_034_E01: Error - Float NaN Comparison →
src/serialization/serializer.cpp - REQ_SER_040_E02: Error - Nested Array Depth Limit →
src/serialization/serializer.cpp - REQ_SER_042_E01: Error - Fixed Array Size Mismatch →
src/serialization/serializer.cpp - REQ_SER_043_E02: Error - Dynamic Array Length Exceeds Maximum →
src/serialization/serializer.cpp - REQ_SER_051_E01: Error - String Length Exceeds Buffer →
src/serialization/serializer.cpp - REQ_SER_056_E01: Error - String Embedded Null →
src/serialization/serializer.cpp - REQ_SER_073_E01: Error - Deserialization Position Beyond Buffer →
src/serialization/serializer.cpp - REQ_SER_080_E01: Error - Alignment Exceeds Buffer →
src/serialization/serializer.cpp - REQ_SER_080_E02: Error - Multiple Alignment Overflows →
src/serialization/serializer.cpp - REQ_SER_090: Serialize Enumeration Type →
src/serialization/serializer.cpp - REQ_SER_090_E01: Error - Enum Value Out of Defined Range →
src/serialization/serializer.cpp - REQ_SER_091: Deserialize Undefined Enumeration Values →
src/serialization/serializer.cpp - REQ_SER_092: Serialize Bitfield as Basic Type →
src/serialization/serializer.cpp - REQ_SER_093: Bitfield Name Definition Support →
include/serialization/serializer.h - REQ_SER_094A: Union Serialize with Type Field →
src/serialization/serializer.cpp - REQ_SER_094B: Union Deserialize with Type Dispatch →
src/serialization/serializer.cpp - REQ_SER_094C: Union Padding for Uniform Size →
src/serialization/serializer.cpp - REQ_SER_094_E01: Error - Union Unknown Type ID →
src/serialization/serializer.cpp - REQ_SER_094_E02: Error - Union Data Size Mismatch →
src/serialization/serializer.cpp - REQ_SER_095: Union Length Field Configuration →
src/serialization/serializer.cpp - REQ_SER_096: Union Type Field Configuration →
src/serialization/serializer.cpp - REQ_SER_097: Union Zero-Length Same-Size Constraint →
src/serialization/serializer.cpp - REQ_SER_098: Optional Parameter as Array →
src/serialization/serializer.cpp - REQ_SER_099: Multidimensional Array Row-Major Order →
src/serialization/serializer.cpp - REQ_SER_100: Multidimensional Dynamic Array Length Fields →
src/serialization/serializer.cpp - REQ_SER_101: Dynamic Array Length Field Configuration →
src/serialization/serializer.cpp - REQ_SER_102: UTF-16 String Support →
src/serialization/serializer.cpp - REQ_SER_103: String BOM Validation →
src/serialization/serializer.cpp - REQ_SER_104: Fixed-Length String Handling →
src/serialization/serializer.cpp - REQ_SER_105: String Encoding Specification →
src/serialization/serializer.cpp - REQ_SER_106: Struct Length Field Support →
src/serialization/serializer.cpp - REQ_SER_107: Misaligned Struct Warning →
src/serialization/serializer.cpp
Service Discovery (117 missing)¶
- REQ_SD_001_E02: Error - SD Entries Length Mismatch →
src/sd/sd_message.cpp - REQ_SD_010_E02: Error - SD Reserved Flags →
src/sd/sd_message.cpp - REQ_SD_030_E01: Error - SD Entry References No Options →
src/sd/sd_message.cpp - REQ_SD_044_E01: Error - SD Entry With Invalid TTL Format →
src/sd/sd_message.cpp - REQ_SD_060_E02: Error - SD TTL Zero in Offer →
src/sd/sd_client.cpp - REQ_SD_070_E01: Error - SD FindService Timeout →
src/sd/sd_client.cpp - REQ_SD_080_E01: Error - SD Subscription Conflict →
src/sd/sd_server.cpp - REQ_SD_083_E01: Error - SD Multiple Subscriptions Same Client →
src/sd/sd_server.cpp - REQ_SD_110: SD Initial Wait Phase →
src/sd/sd_server.cpp - REQ_SD_111: SD Repetition Phase →
src/sd/sd_server.cpp - REQ_SD_112: SD Main Phase →
src/sd/sd_server.cpp - REQ_SD_113: SD Shutdown Behavior →
src/sd/sd_server.cpp - REQ_SD_113_E01: Error - SD Server Offers During Shutdown →
src/sd/sd_server.cpp - REQ_SD_114: FindService Entry Processing →
src/sd/sd_client.cpp - REQ_SD_115: OfferService Entry Processing →
src/sd/sd_server.cpp - REQ_SD_115_E01: Error - SD Offer with Invalid Endpoint →
src/sd/sd_client.cpp - REQ_SD_115_E02: Error - SD Duplicate Offer Handling →
src/sd/sd_client.cpp - REQ_SD_116: StopOfferService Entry Processing →
src/sd/sd_client.cpp - REQ_SD_116_E01: Error - SD Subscription to Unavailable Service →
src/sd/sd_server.cpp - REQ_SD_116_E02: Error - SD ACK Timeout →
src/sd/sd_client.cpp - REQ_SD_117: SubscribeEventgroup Entry Processing →
src/sd/sd_server.cpp - REQ_SD_118: StopSubscribeEventgroup Processing →
src/sd/sd_server.cpp - REQ_SD_119: SubscribeEventgroupAck Processing →
src/sd/sd_server.cpp - REQ_SD_119_E01: Error - SD Unknown Entry Type →
src/sd/sd_server.cpp - REQ_SD_120: SubscribeEventgroupNack Processing →
src/sd/sd_message.cpp - REQ_SD_120_E01: Error - SD Option Index Out of Range →
src/sd/sd_message.cpp - REQ_SD_121: Load Balancing Option →
include/sd/sd_types.h - REQ_SD_122: IPv4 SD Endpoint Option →
src/sd/sd_message.cpp - REQ_SD_123: IPv6 SD Endpoint Option →
src/sd/sd_message.cpp - REQ_SD_123_E01: Error - SD Invalid Multicast Address in Option →
src/sd/sd_message.cpp - REQ_SD_124: Option Run Referencing →
include/sd/sd_types.h - REQ_SD_125: Handling Missing Options →
src/sd/sd_server.cpp - REQ_SD_126: Handling Redundant Options →
src/sd/sd_server.cpp - REQ_SD_127: Handling Conflicting Options →
src/sd/sd_client.cpp - REQ_SD_130: Server Service State Machine →
src/sd/sd_server.cpp - REQ_SD_131: Client Service State Machine →
include/sd/sd_types.h - REQ_SD_132: Eventgroup Subscription State Machine →
src/sd/sd_message.cpp - REQ_SD_134_E01: Error - SD Multicast Send Failure →
src/sd/sd_server.cpp - REQ_SD_140: Service Endpoint Association →
src/sd/sd_server.cpp - REQ_SD_141: Multicast Endpoint Association →
src/sd/sd_server.cpp - REQ_SD_142: Initial Event Sending →
src/sd/sd_server.cpp - REQ_SD_150: SD Malformed Message Handling →
src/sd/sd_server.cpp - REQ_SD_151: SD Invalid Entry Handling →
src/sd/sd_server.cpp - REQ_SD_152: SD TTL Expiry Handling →
src/sd/sd_server.cpp - REQ_SD_160: SD Multicast Transmission →
src/sd/sd_message.cpp - REQ_SD_161: SD Unicast Response →
src/sd/sd_client.cpp - REQ_SD_170: SD Session ID Management →
src/sd/sd_server.cpp - REQ_SD_171: SD Reboot Detection Response →
src/sd/sd_server.cpp - REQ_SD_180: Minor Version Matching →
include/sd/sd_types.h - REQ_SD_200A: SD Message Structure - Flags and Reserved →
src/sd/sd_message.cpp - REQ_SD_200B: SD Entries Array Format →
src/sd/sd_message.cpp - REQ_SD_200C: SD Options Array Format →
src/sd/sd_message.cpp - REQ_SD_201: SD Transport Requirements →
src/sd/sd_message.cpp - REQ_SD_202: SD ECU Internal Interface →
src/sd/sd_message.cpp - REQ_SD_210: SD Header Field Parsing →
src/sd/sd_client.cpp - REQ_SD_211: SD Session ID Handling →
src/sd/sd_server.cpp - REQ_SD_212: SD Reboot Flag Management →
src/sd/sd_client.cpp - REQ_SD_220: SD Entry Common Fields →
src/sd/sd_server.cpp - REQ_SD_221: SD Service Entry Format →
src/sd/sd_server.cpp - REQ_SD_222: SD Eventgroup Entry Format →
src/sd/sd_server.cpp - REQ_SD_222_E01: Error - SD TTL Overflow Prevention →
src/sd/sd_client.cpp - REQ_SD_223: SD Entry Multiple Entries per Message →
src/sd/sd_server.cpp - REQ_SD_230: SD Configuration Option →
src/sd/sd_server.cpp - REQ_SD_231: SD Load Balancing Option Format →
src/sd/sd_client.cpp - REQ_SD_232: SD IPv4 Endpoint Option Format →
src/sd/sd_client.cpp - REQ_SD_233: SD IPv6 Endpoint Option Format →
src/sd/sd_server.cpp - REQ_SD_234: SD IPv4 Multicast Option Format →
src/sd/sd_server.cpp - REQ_SD_235: SD IPv6 Multicast Option Format →
src/sd/sd_server.cpp - REQ_SD_236: SD IPv4 SD Endpoint Option Format →
src/sd/sd_message.cpp - REQ_SD_240: SD Option Index and Run Length →
src/sd/sd_server.cpp - REQ_SD_241: SD Option Run Processing →
src/sd/sd_client.cpp - REQ_SD_242: SD Option Validation →
include/sd/sd_types.h - REQ_SD_243: SD Endpoint Option Processing →
src/sd/sd_message.cpp - REQ_SD_250: SD FindService Message Construction →
src/sd/sd_server.cpp - REQ_SD_251: SD FindService Response Behavior →
src/sd/sd_server.cpp - REQ_SD_260: SD OfferService Message Construction →
src/sd/sd_server.cpp - REQ_SD_261: SD StopOfferService Construction →
src/sd/sd_message.cpp - REQ_SD_270: SD SubscribeEventgroup Construction →
src/sd/sd_server.cpp - REQ_SD_271: SD Subscription Lifecycle →
include/sd/sd_types.h - REQ_SD_272: SD SubscribeEventgroupAck Construction →
src/sd/sd_server.cpp - REQ_SD_273: SD SubscribeEventgroupNack Construction →
src/sd/sd_server.cpp - REQ_SD_274: SD StopSubscribeEventgroup Construction →
src/sd/sd_client.cpp - REQ_SD_280: SD Timing Configuration →
src/sd/sd_server.cpp - REQ_SD_281: SD Phase Transitions →
include/sd/sd_types.h - REQ_SD_282: SD Multicast Group Management →
src/sd/sd_message.cpp - REQ_SD_283: SD Response Delay Configuration →
src/sd/sd_server.cpp - REQ_SD_290: SD Server Endpoint Registration →
src/sd/sd_server.cpp - REQ_SD_291: SD Client Endpoint Resolution →
src/sd/sd_message.cpp - REQ_SD_292: SD Multicast Endpoint Handling →
src/sd/sd_server.cpp - REQ_SD_293: SD Endpoint Validation →
include/sd/sd_types.h - REQ_SD_300: SD Service Offer Processing →
src/sd/sd_server.cpp - REQ_SD_301: SD Service State Tracking →
src/sd/sd_message.cpp - REQ_SD_302: SD Subscription State Tracking →
src/sd/sd_message.cpp - REQ_SD_303: SD Service Registry Management →
src/sd/sd_message.cpp - REQ_SD_310: SD Graceful Shutdown →
include/sd/sd_types.h - REQ_SD_311: SD Reboot Recovery →
src/sd/sd_client.cpp - REQ_SD_312: SD Service Stop Handling →
src/sd/sd_server.cpp - REQ_SD_320: SD Non-SOME/IP Service Announcement →
src/sd/sd_message.cpp - REQ_SD_330: SD Initial Event Sending →
src/sd/sd_server.cpp - REQ_SD_331: SD Initial Event Requesting →
src/sd/sd_client.cpp - REQ_SD_340: SD Error Handling →
include/sd/sd_types.h - REQ_SD_341: SD Option Conflict Resolution →
src/sd/sd_server.cpp - REQ_SD_342: SD Security Considerations →
src/sd/sd_server.cpp - REQ_SD_343: SD IPv4 SD Endpoint Processing →
src/sd/sd_server.cpp - REQ_SD_344: SD Mandatory Feature Set →
src/sd/sd_server.cpp - REQ_SD_345: SD Unicast Flag Processing →
src/sd/sd_server.cpp - REQ_SD_346: SD Service State Machine Details →
src/sd/sd_client.cpp - REQ_SD_347: SD Subscription Renewal →
src/sd/sd_server.cpp - REQ_SD_348: SD Publish/Subscribe Event Flow →
src/sd/sd_client.cpp - REQ_SD_349: SD Duplicate Offer Handling →
src/sd/sd_server.cpp - REQ_SD_350: SD Entry Aggregation →
src/sd/sd_server.cpp - REQ_SD_351: SD Startup Behavior →
src/sd/sd_server.cpp - REQ_SD_352: SD Advanced Reboot Detection →
src/sd/sd_server.cpp - REQ_SD_353: SD Service Timeout Handling →
src/sd/sd_server.cpp - REQ_SD_354: SD Subscribe Multicast Handling →
src/sd/sd_server.cpp - REQ_SD_355: SD Subscription Server State →
include/sd/sd_types.h - REQ_SD_356: SD Service Registration →
include/sd/sd_types.h
Transport Protocol (20 missing)¶
- REQ_TP_070: Segment Only Configured Messages →
src/tp/tp_segmenter.cpp - REQ_TP_070_E01: Error - TP Message Type Mismatch →
src/tp/tp_reassembler.cpp - REQ_TP_070_E02: Error - TP Segment With Wrong Protocol Version →
src/tp/tp_reassembler.cpp - REQ_TP_071: Send Segments in Ascending Order →
src/tp/tp_segmenter.cpp - REQ_TP_071_E01: Error - Invalid TP Offset Alignment →
src/tp/tp_reassembler.cpp - REQ_TP_071_E02: Error - TP Zero-Length Segment →
src/tp/tp_reassembler.cpp - REQ_TP_072: Uniform Segment Size →
src/tp/tp_segmenter.cpp - REQ_TP_072_E01: Error - Segment Size Exceeds Maximum →
src/tp/tp_segmenter.cpp - REQ_TP_073: No Overlapping or Duplicate Segments →
src/tp/tp_segmenter.cpp - REQ_TP_074: Configured Client IDs for TP →
src/tp/tp_segmenter.cpp - REQ_TP_075: Traffic Shaping for Segments →
src/tp/tp_segmenter.cpp - REQ_TP_076: Session ID Based Reassembly Detection →
src/tp/tp_reassembler.cpp - REQ_TP_076_E01: Error - Reassembly Buffer Full →
src/tp/tp_reassembler.cpp - REQ_TP_076_E02: Error - TP Reassembly Result Exceeds Maximum Message Size →
src/tp/tp_reassembler.cpp - REQ_TP_077: Return Code from Last Segment →
src/tp/tp_reassembler.cpp - REQ_TP_078: Clear TP Flag After Reassembly →
src/tp/tp_reassembler.cpp - REQ_TP_079: Cancel Reassembly on Resource Exhaustion →
src/tp/tp_reassembler.cpp - REQ_TP_080: No Cross-Message Reordering →
src/tp/tp_reassembler.cpp - REQ_TP_081: Overlapping Segment Handling →
src/tp/tp_reassembler.cpp - REQ_TP_082: TP Error Handling →
src/tp/tp_reassembler.cpp
Recommendations¶
Immediate Actions (Quick Wins)¶
Implementation Required¶
- Implement 315 missing requirements
- Error Handling: 24 requirements
- Message Header: 51 requirements
- Other: 70 requirements
- Serialization: 33 requirements
- Service Discovery: 117 requirements
- Transport Protocol: 20 requirements