@@ -31,7 +31,6 @@ struct RxContext
3131 std::array<udpard_udpip_ep_t , UDPARD_IFACE_COUNT_MAX> sources{};
3232 uint64_t remote_uid = 0 ;
3333 size_t received = 0 ;
34- size_t collisions = 0 ;
3534};
3635
3736// Refcount helpers keep captured datagrams alive.
@@ -115,19 +114,14 @@ void on_message(udpard_rx_t* const rx, udpard_rx_port_t* const port, const udpar
115114 ctx->received ++;
116115}
117116
118- void on_collision (udpard_rx_t * const rx, udpard_rx_port_t * const /* port*/ , const udpard_remote_t /* remote*/ )
119- {
120- auto * ctx = static_cast <RxContext*>(rx->user );
121- ctx->collisions ++;
122- }
123- constexpr udpard_rx_port_vtable_t callbacks{ .on_message = &on_message, .on_collision = &on_collision };
117+ constexpr udpard_rx_port_vtable_t callbacks{ .on_message = &on_message };
124118
125119// Ack port frees responses.
126120void on_ack_response (udpard_rx_t *, udpard_rx_port_t * port, const udpard_rx_transfer_t tr)
127121{
128122 udpard_fragment_free_all (tr.payload , udpard_make_deleter (port->memory .fragment ));
129123}
130- constexpr udpard_rx_port_vtable_t ack_callbacks{ .on_message = &on_ack_response, . on_collision = &on_collision };
124+ constexpr udpard_rx_port_vtable_t ack_callbacks{ .on_message = &on_ack_response };
131125
132126// Reliable delivery must survive data and ack loss.
133127// Each node uses exactly one TX and one RX instance as per the library design.
@@ -184,8 +178,7 @@ void test_reliable_delivery_under_losses()
184178 udpard_rx_t pub_rx{};
185179 udpard_rx_new (&pub_rx, &pub_tx);
186180 udpard_rx_port_t pub_p2p_port{};
187- TEST_ASSERT_TRUE (
188- udpard_rx_port_new (&pub_p2p_port, pub_uid, 16 , udpard_rx_unordered, 0 , pub_rx_mem, &ack_callbacks));
181+ TEST_ASSERT_TRUE (udpard_rx_port_new_p2p (&pub_p2p_port, 16 , pub_rx_mem, &ack_callbacks));
189182
190183 // Subscriber node: single TX, single RX (linked to TX for sending ACKs).
191184 constexpr uint64_t sub_uid = 0xABCDEF0012345678ULL ;
@@ -197,8 +190,7 @@ void test_reliable_delivery_under_losses()
197190 udpard_rx_t sub_rx{};
198191 udpard_rx_new (&sub_rx, &sub_tx);
199192 udpard_rx_port_t sub_port{};
200- const uint64_t topic_hash = 0x0123456789ABCDEFULL ;
201- TEST_ASSERT_TRUE (udpard_rx_port_new (&sub_port, topic_hash, 6000 , udpard_rx_unordered, 0 , sub_rx_mem, &callbacks));
193+ TEST_ASSERT_TRUE (udpard_rx_port_new (&sub_port, 6000 , sub_rx_mem, &callbacks));
202194
203195 // Endpoints.
204196 const std::array<udpard_udpip_ep_t , UDPARD_IFACE_COUNT_MAX> publisher_sources{
@@ -235,7 +227,6 @@ void test_reliable_delivery_under_losses()
235227 deadline,
236228 iface_bitmap_all,
237229 udpard_prio_fast,
238- topic_hash,
239230 1U ,
240231 payload_view,
241232 &record_feedback,
@@ -296,8 +287,6 @@ void test_reliable_delivery_under_losses()
296287 TEST_ASSERT_EQUAL_size_t (1 , fb.count );
297288 TEST_ASSERT_EQUAL_UINT32 (1 , fb.acknowledgements );
298289 TEST_ASSERT_EQUAL_size_t (1 , ctx.received );
299- TEST_ASSERT_EQUAL_size_t (0 , ctx.collisions );
300-
301290 // Cleanup.
302291 udpard_rx_port_free (&sub_rx, &sub_port);
303292 udpard_rx_port_free (&pub_rx, &pub_p2p_port);
@@ -350,7 +339,6 @@ void test_reliable_stats_and_failures()
350339 10 ,
351340 iface_bitmap_1,
352341 udpard_prio_fast,
353- 0xABCULL ,
354342 5U ,
355343 exp_payload,
356344 &record_feedback,
@@ -399,7 +387,7 @@ void test_reliable_stats_and_failures()
399387 ctx.expected .assign ({ 1U , 2U , 3U , 4U });
400388 udpard_rx_new (&rx, nullptr );
401389 rx.user = &ctx;
402- TEST_ASSERT_TRUE (udpard_rx_port_new (&port, 0x12340000ULL , 64 , udpard_rx_unordered, 0 , rx_mem, &callbacks));
390+ TEST_ASSERT_TRUE (udpard_rx_port_new (&port, 64 , rx_mem, &callbacks));
403391
404392 const udpard_bytes_scattered_t src_payload = make_scattered (ctx.expected .data (), ctx.expected .size ());
405393 FeedbackState fb_ignore{};
@@ -408,7 +396,6 @@ void test_reliable_stats_and_failures()
408396 1000 ,
409397 iface_bitmap_1,
410398 udpard_prio_fast,
411- port.topic_hash ,
412399 7U ,
413400 src_payload,
414401 &record_feedback,
0 commit comments