@@ -1868,22 +1868,14 @@ static int32_t cavl_compare_rx_session_by_remote_uid(const void* const user, con
18681868 return 0 ; // clang-format on
18691869}
18701870
1871- // Key for reordering deadline ordering with stable tiebreaking.
1872- typedef struct
1873- {
1874- udpard_us_t deadline ;
1875- uint64_t remote_uid ;
1876- } rx_reordering_key_t ;
1877-
1878- // Compare sessions by reordering deadline then by remote UID.
18791871static int32_t cavl_compare_rx_session_by_reordering_deadline (const void * const user , const udpard_tree_t * const node )
18801872{
1881- const rx_reordering_key_t * const key = (const rx_reordering_key_t * )user ;
1882- const rx_session_t * const ses = CAVL2_TO_OWNER (node , rx_session_t , index_reordering_window ); // clang-format off
1883- if (key -> deadline < ses -> reordering_window_deadline ) { return -1 ; }
1884- if (key -> deadline > ses -> reordering_window_deadline ) { return +1 ; }
1885- if (key -> remote_uid < ses -> remote .uid ) { return -1 ; }
1886- if (key -> remote_uid > ses -> remote .uid ) { return +1 ; }
1873+ const rx_session_t * const outer = (const rx_session_t * )user ;
1874+ const rx_session_t * const inner = CAVL2_TO_OWNER (node , rx_session_t , index_reordering_window ); // clang-format off
1875+ if (outer -> reordering_window_deadline < inner -> reordering_window_deadline ) { return -1 ; }
1876+ if (outer -> reordering_window_deadline > inner -> reordering_window_deadline ) { return +1 ; }
1877+ if (outer -> remote . uid < inner -> remote .uid ) { return -1 ; }
1878+ if (outer -> remote . uid > inner -> remote .uid ) { return +1 ; }
18871879 return 0 ; // clang-format on
18881880}
18891881
@@ -2001,11 +1993,8 @@ static void rx_session_ordered_scan_slots(rx_session_t* const self,
20011993 // closure deadline, but we ignore them because the nearest transfer overrides the more distant ones.
20021994 if (slot != NULL ) {
20031995 self -> reordering_window_deadline = slot -> ts_min + self -> port -> reordering_window ;
2004- // Insert into reordering index with deterministic tie-breaking.
2005- const rx_reordering_key_t key = { .deadline = self -> reordering_window_deadline ,
2006- .remote_uid = self -> remote .uid };
20071996 const udpard_tree_t * res = cavl2_find_or_insert (& rx -> index_session_by_reordering , //----------------
2008- & key ,
1997+ self ,
20091998 & cavl_compare_rx_session_by_reordering_deadline ,
20101999 & self -> index_reordering_window ,
20112000 & cavl2_trivial_factory );
0 commit comments