@@ -2304,8 +2304,7 @@ impl Connection {
23042304 }
23052305 }
23062306 if let Some ( token) = params. stateless_reset_token {
2307- self . endpoint_events
2308- . push_back ( EndpointEventInner :: ResetToken ( self . path . remote , token) ) ;
2307+ endpoint. set_reset_token ( self . handle , self . path . remote , token) ;
23092308 }
23102309 self . handle_peer_params ( params) ?;
23112310 self . issue_first_cids ( now, endpoint) ;
@@ -2652,7 +2651,7 @@ impl Connection {
26522651 . pending
26532652 . retire_cids
26542653 . extend ( retired) ;
2655- self . set_reset_token ( reset_token) ;
2654+ self . set_reset_token ( reset_token, endpoint ) ;
26562655 }
26572656 Err ( InsertError :: ExceedsLimit ) => {
26582657 return Err ( TransportError :: CONNECTION_ID_LIMIT_ERROR ( "" ) ) ;
@@ -2673,7 +2672,7 @@ impl Connection {
26732672 if self . side . is_server ( ) && self . rem_cids . active_seq ( ) == 0 {
26742673 // We're a server still using the initial remote CID for the client, so
26752674 // let's switch immediately to enable clientside stateless resets.
2676- self . update_rem_cid ( ) ;
2675+ self . update_rem_cid ( endpoint ) ;
26772676 }
26782677 }
26792678 Frame :: NewToken { token } => {
@@ -2741,7 +2740,7 @@ impl Connection {
27412740 ) ;
27422741 self . migrate ( now, remote) ;
27432742 // Break linkability, if possible
2744- self . update_rem_cid ( ) ;
2743+ self . update_rem_cid ( endpoint ) ;
27452744 self . spin = false ;
27462745 }
27472746
@@ -2792,7 +2791,7 @@ impl Connection {
27922791 }
27932792
27942793 /// Switch to a previously unused remote connection ID, if possible
2795- fn update_rem_cid ( & mut self ) {
2794+ fn update_rem_cid ( & mut self , endpoint : & Endpoint ) {
27962795 let ( reset_token, retired) = match self . rem_cids . next ( ) {
27972796 Some ( x) => x,
27982797 None => return ,
@@ -2803,15 +2802,11 @@ impl Connection {
28032802 . pending
28042803 . retire_cids
28052804 . extend ( retired) ;
2806- self . set_reset_token ( reset_token) ;
2805+ self . set_reset_token ( reset_token, endpoint ) ;
28072806 }
28082807
2809- fn set_reset_token ( & mut self , reset_token : ResetToken ) {
2810- self . endpoint_events
2811- . push_back ( EndpointEventInner :: ResetToken (
2812- self . path . remote ,
2813- reset_token,
2814- ) ) ;
2808+ fn set_reset_token ( & mut self , reset_token : ResetToken , endpoint : & Endpoint ) {
2809+ endpoint. set_reset_token ( self . handle , self . path . remote , reset_token) ;
28152810 self . peer_params . stateless_reset_token = Some ( reset_token) ;
28162811 }
28172812
0 commit comments