@@ -252,7 +252,7 @@ impl Inner {
252252 /// Place connection back into the pool
253253 /// or give it to a waiting client.
254254 #[ inline]
255- pub ( super ) fn put ( & mut self , mut conn : Box < Server > , now : Instant ) -> Result < ( ) , Error > {
255+ pub ( super ) fn put ( & mut self , mut conn : Box < Server > ) -> Result < ( ) , Error > {
256256 // Try to give it to a client that's been waiting, if any.
257257 let id = * conn. id ( ) ;
258258 while let Some ( waiter) = self . waiting . pop_front ( ) {
@@ -263,8 +263,8 @@ impl Inner {
263263 server : id,
264264 client : waiter. request . id ,
265265 } ) ?;
266- self . stats . counts . server_assignment_count += 1 ;
267- self . stats . counts . wait_time += now . duration_since ( waiter. request . created_at ) ;
266+ self . stats
267+ . record_checkout ( waiter. request . created_at , waiter . request . read ) ;
268268 return Ok ( ( ) ) ;
269269 }
270270 }
@@ -380,7 +380,7 @@ impl Inner {
380380 // Finally, if the server is ok,
381381 // place the connection back into the idle list.
382382 if server. can_check_in ( ) {
383- self . put ( server, now ) ?;
383+ self . put ( server) ?;
384384 result. replenish = false ;
385385 } else {
386386 self . out_of_sync += 1 ;
@@ -854,7 +854,7 @@ mod test {
854854 } ) ;
855855
856856 let server = Box :: new ( Server :: default ( ) ) ;
857- inner. put ( server, Instant :: now ( ) ) . unwrap ( ) ;
857+ inner. put ( server) . unwrap ( ) ;
858858
859859 assert_eq ! ( inner. idle( ) , 0 ) ; // Connection given to waiter, not idle
860860 assert_eq ! ( inner. checked_out( ) , 1 ) ; // Connection now checked out to waiter
@@ -869,7 +869,7 @@ mod test {
869869 let mut inner = Inner :: default ( ) ;
870870 let server = Box :: new ( Server :: default ( ) ) ;
871871
872- inner. put ( server, Instant :: now ( ) ) . unwrap ( ) ;
872+ inner. put ( server) . unwrap ( ) ;
873873
874874 assert_eq ! ( inner. idle( ) , 1 ) ; // Connection added to idle pool
875875 assert_eq ! ( inner. checked_out( ) , 0 ) ;
@@ -1046,7 +1046,7 @@ mod test {
10461046 assert_eq ! ( inner. waiting. len( ) , 3 ) ;
10471047
10481048 let server = Box :: new ( Server :: default ( ) ) ;
1049- inner. put ( server, Instant :: now ( ) ) . unwrap ( ) ;
1049+ inner. put ( server) . unwrap ( ) ;
10501050
10511051 // All waiters should be removed from queue since we tried each one
10521052 assert_eq ! ( inner. waiting. len( ) , 0 ) ;
@@ -1083,7 +1083,7 @@ mod test {
10831083 assert_eq ! ( inner. waiting. len( ) , 2 ) ;
10841084
10851085 let server = Box :: new ( Server :: default ( ) ) ;
1086- inner. put ( server, Instant :: now ( ) ) . unwrap ( ) ;
1086+ inner. put ( server) . unwrap ( ) ;
10871087
10881088 // All waiters should be removed since they were all dropped
10891089 assert_eq ! ( inner. waiting. len( ) , 0 ) ;
0 commit comments