@@ -122,10 +122,11 @@ TEST_CASE("RxBasic0")
122122 header.frame_index_eot = (1U << 31U ) + 1U ;
123123 header.priority = 0b001 ;
124124 header.transfer_id = 0 ;
125- header.data_specifier = 0b0000110011001100 ;
125+ header.data_specifier = 0b0000110011001100 ; // Subject ID = 3276
126126 specifier.data_specifier = UDPARD_UDP_PORT;
127127 specifier.destination_route_specifier = 0b11101111'00'01000'0'0'000110011001100 ;
128128 specifier.source_route_specifier = 0b11000000'10101000'00000000'00100111 ;
129+ // This is an empty payload, the last four bytes are CRC.
129130 REQUIRE (1 == accept (0 , 100'000'001 , header, specifier, {0 , 0 , 0 , 0 }));
130131 REQUIRE (subscription != nullptr );
131132 REQUIRE (subscription->port_id == 0b0110011001100 );
@@ -135,7 +136,7 @@ TEST_CASE("RxBasic0")
135136 REQUIRE (transfer.metadata .port_id == 0b0110011001100 );
136137 REQUIRE (transfer.metadata .remote_node_id == 0b0100111 );
137138 REQUIRE (transfer.metadata .transfer_id == 0 );
138- REQUIRE (transfer.payload_size == 4 );
139+ REQUIRE (transfer.payload_size == 0 ); // Payload size should not include the CRC (0 byte payload + 4 byte CRC)
139140 REQUIRE (0 == std::memcmp (transfer.payload , " " , 0 ));
140141 REQUIRE (ins.getAllocator ().getNumAllocatedFragments () == 2 ); // The SESSION and the PAYLOAD BUFFER.
141142 REQUIRE (ins.getAllocator ().getTotalAllocatedAmount () == (sizeof (RxSession) + 16 ));
@@ -156,7 +157,6 @@ TEST_CASE("RxBasic0")
156157 specifier.data_specifier = UDPARD_UDP_PORT;
157158 specifier.destination_route_specifier = 0b11101111'00'01000'1'00000000'00011010 ;
158159 specifier.source_route_specifier = 0b11000000'10101000'00000000'00100111 ;
159-
160160 REQUIRE (0 == accept (0 , 100'000'002 , header, specifier, {0 , 0 , 0 , 0 }));
161161 REQUIRE (subscription == nullptr );
162162
@@ -193,7 +193,7 @@ TEST_CASE("RxBasic0")
193193 REQUIRE (transfer.metadata .port_id == 0b0000110011 );
194194 REQUIRE (transfer.metadata .remote_node_id == 0b0100101 );
195195 REQUIRE (transfer.metadata .transfer_id == 4 );
196- REQUIRE (transfer.payload_size == 7 );
196+ REQUIRE (transfer.payload_size == 3 ); // Payload size should not include the CRC (3 byte payload + 4 byte CRC)
197197 REQUIRE (0 == std::memcmp (transfer.payload , " \x01\x02\x03\x1E\xF2\x30\xF1 " , 7 ));
198198 REQUIRE (ins.getAllocator ().getNumAllocatedFragments () == 4 ); // Two SESSIONS and two PAYLOAD BUFFERS.
199199 REQUIRE (ins.getAllocator ().getTotalAllocatedAmount () == (2 * sizeof (RxSession) + 16 + 20 ));
@@ -276,7 +276,7 @@ TEST_CASE("RxBasic0")
276276 REQUIRE (transfer.metadata .port_id == 0b0000111100 );
277277 REQUIRE (transfer.metadata .remote_node_id == 0b0011011 );
278278 REQUIRE (transfer.metadata .transfer_id == 5 );
279- REQUIRE (transfer.payload_size == 5 );
279+ REQUIRE (transfer.payload_size == 1 ); // Payload size should not include the CRC (1 byte payload + 4 byte CRC)
280280 REQUIRE (0 == std::memcmp (transfer.payload , " \x05\x4D\x47\x8C\x67 " , 5 ));
281281 REQUIRE (ins.getAllocator ().getNumAllocatedFragments () == 4 );
282282 REQUIRE (ins.getAllocator ().getTotalAllocatedAmount () == (2 * sizeof (RxSession) + 10 + 20 ));
0 commit comments