@@ -115,7 +115,7 @@ struct Fixture
115115 Fixture (Fixture&&) = delete ;
116116 Fixture& operator =(Fixture&&) = delete ;
117117
118- explicit Fixture (const udpard_us_t reordering_window)
118+ explicit Fixture (const udpard_rx_mode_t mode, const udpard_us_t reordering_window)
119119 {
120120 instrumented_allocator_new (&tx_alloc_transfer);
121121 instrumented_allocator_new (&tx_alloc_payload);
@@ -138,7 +138,7 @@ struct Fixture
138138 ctx.expected_uid = tx.local_uid ;
139139 ctx.source = source;
140140 rx.user = &ctx;
141- TEST_ASSERT_TRUE (udpard_rx_port_new (&port, topic_hash, 1024 , reordering_window, rx_mem, &callbacks));
141+ TEST_ASSERT_TRUE (udpard_rx_port_new (&port, topic_hash, 1024 , mode, reordering_window, rx_mem, &callbacks));
142142 }
143143
144144 ~Fixture ()
@@ -219,7 +219,7 @@ void on_message_p2p(udpard_rx_t* const rx, udpard_rx_port_p2p_t* const port, con
219219// / UNORDERED mode should drop duplicates while keeping arrival order.
220220void test_udpard_rx_unordered_duplicates ()
221221{
222- Fixture fix{ UDPARD_RX_REORDERING_WINDOW_UNORDERED };
222+ Fixture fix{ udpard_rx_unordered, 0 };
223223 udpard_us_t now = 0 ;
224224
225225 constexpr std::array<uint64_t , 6 > ids{ 100 , 20000 , 10100 , 5000 , 20000 , 100 };
@@ -241,7 +241,7 @@ void test_udpard_rx_unordered_duplicates()
241241// / ORDERED mode waits for the window, then rejects late arrivals.
242242void test_udpard_rx_ordered_out_of_order ()
243243{
244- Fixture fix{ 50 };
244+ Fixture fix{ udpard_rx_ordered, 50 };
245245 udpard_us_t now = 0 ;
246246
247247 // First batch builds the ordered baseline.
@@ -282,7 +282,7 @@ void test_udpard_rx_ordered_out_of_order()
282282// / ORDERED mode after head advance should reject late IDs arriving after window expiry.
283283void test_udpard_rx_ordered_head_advanced_late ()
284284{
285- Fixture fix{ 50 };
285+ Fixture fix{ udpard_rx_ordered, 50 };
286286 udpard_us_t now = 0 ;
287287
288288 fix.push_single (now, 100 );
@@ -317,7 +317,7 @@ void test_udpard_rx_ordered_head_advanced_late()
317317// / ORDERED mode rejects transfer-IDs far behind the recent history window.
318318void test_udpard_rx_ordered_reject_far_past ()
319319{
320- Fixture fix{ 50 };
320+ Fixture fix{ udpard_rx_ordered, 50 };
321321 udpard_us_t now = 0 ;
322322
323323 fix.push_single (now, 200000 );
@@ -660,8 +660,7 @@ void test_udpard_tx_minimum_mtu()
660660 ctx.source = { .ip = 0x0A000001U , .port = 7501U };
661661 udpard_rx_new (&rx, nullptr );
662662 rx.user = &ctx;
663- TEST_ASSERT_TRUE (
664- udpard_rx_port_new (&port, topic_hash, 4096 , UDPARD_RX_REORDERING_WINDOW_UNORDERED, rx_mem, &callbacks));
663+ TEST_ASSERT_TRUE (udpard_rx_port_new (&port, topic_hash, 4096 , udpard_rx_unordered, 0 , rx_mem, &callbacks));
665664
666665 // Send a payload that will require fragmentation at minimum MTU
667666 std::array<uint8_t , 1000 > payload{};
@@ -717,7 +716,7 @@ void test_udpard_tx_minimum_mtu()
717716// / Test with transfer-ID at uint64 boundary values (0, large values)
718717void test_udpard_transfer_id_boundaries ()
719718{
720- Fixture fix{ UDPARD_RX_REORDERING_WINDOW_UNORDERED };
719+ Fixture fix{ udpard_rx_unordered, 0 };
721720
722721 // Test transfer-ID = 0 (first valid value)
723722 fix.push_single (0 , 0 );
@@ -771,8 +770,7 @@ void test_udpard_rx_zero_extent()
771770 udpard_rx_new (&rx, nullptr );
772771
773772 // Create port with zero extent
774- TEST_ASSERT_TRUE (
775- udpard_rx_port_new (&port, topic_hash, 0 , UDPARD_RX_REORDERING_WINDOW_UNORDERED, rx_mem, &callbacks));
773+ TEST_ASSERT_TRUE (udpard_rx_port_new (&port, topic_hash, 0 , udpard_rx_unordered, 0 , rx_mem, &callbacks));
776774
777775 // Track received transfers
778776 struct ZeroExtentContext
@@ -857,7 +855,7 @@ void test_udpard_rx_zero_extent()
857855// / Test empty payload transfer (zero-size payload)
858856void test_udpard_empty_payload ()
859857{
860- Fixture fix{ UDPARD_RX_REORDERING_WINDOW_UNORDERED };
858+ Fixture fix{ udpard_rx_unordered, 0 };
861859
862860 // Send an empty payload
863861 fix.frames .clear ();
@@ -893,7 +891,7 @@ void test_udpard_empty_payload()
893891// / Test priority levels from exceptional (0) to optional (7)
894892void test_udpard_all_priority_levels ()
895893{
896- Fixture fix{ UDPARD_RX_REORDERING_WINDOW_UNORDERED };
894+ Fixture fix{ udpard_rx_unordered, 0 };
897895 udpard_us_t now = 0 ;
898896
899897 constexpr uint16_t iface_bitmap_1 = (1U << 0U );
@@ -967,8 +965,7 @@ void test_udpard_topic_hash_collision()
967965 ctx.source = { .ip = 0x0A000003U , .port = 7503U };
968966 udpard_rx_new (&rx, nullptr );
969967 rx.user = &ctx;
970- TEST_ASSERT_TRUE (
971- udpard_rx_port_new (&port, rx_topic_hash, 1024 , UDPARD_RX_REORDERING_WINDOW_UNORDERED, rx_mem, &callbacks));
968+ TEST_ASSERT_TRUE (udpard_rx_port_new (&port, rx_topic_hash, 1024 , udpard_rx_unordered, 0 , rx_mem, &callbacks));
972969
973970 // Send with mismatched topic hash
974971 std::array<uint8_t , 8 > payload{};
0 commit comments