1- use std:: cmp :: min ;
2- use std:: io :: Write as _ ;
1+ use std:: io :: { BufReader , BufWriter , Write as _ } ;
2+ use std:: net :: { TcpStream , ToSocketAddrs } ;
33use std:: time:: Duration ;
44
5- use rand:: Rng ;
5+ use rand:: Rng as _ ;
66
77use crate :: encoding:: Value as _;
88use crate :: errdata;
@@ -16,19 +16,19 @@ use crate::storage::mvcc;
1616/// other requests.
1717pub struct Client {
1818 /// Inbound response stream.
19- reader : std :: io :: BufReader < std :: net :: TcpStream > ,
19+ reader : BufReader < TcpStream > ,
2020 /// Outbound request stream.
21- writer : std :: io :: BufWriter < std :: net :: TcpStream > ,
21+ writer : BufWriter < TcpStream > ,
2222 /// The current transaction, if any.
2323 txn : Option < mvcc:: TransactionState > ,
2424}
2525
2626impl Client {
2727 /// Connects to a toyDB server, creating a new client.
28- pub fn connect ( addr : impl std :: net :: ToSocketAddrs ) -> Result < Self > {
29- let socket = std :: net :: TcpStream :: connect ( addr) ?;
30- let reader = std :: io :: BufReader :: new ( socket. try_clone ( ) ?) ;
31- let writer = std :: io :: BufWriter :: new ( socket) ;
28+ pub fn connect ( addr : impl ToSocketAddrs ) -> Result < Self > {
29+ let socket = TcpStream :: connect ( addr) ?;
30+ let reader = BufReader :: new ( socket. try_clone ( ) ?) ;
31+ let writer = BufWriter :: new ( socket) ;
3232 Ok ( Self { reader, writer, txn : None } )
3333 }
3434
@@ -103,7 +103,7 @@ impl Client {
103103 // Use exponential backoff starting at MIN_WAIT doubling up
104104 // to MAX_WAIT, but randomize the wait time in this interval
105105 // to reduce the chance of collisions.
106- let mut wait = min ( MIN_WAIT * 2_u64 . pow ( retries) , MAX_WAIT ) ;
106+ let mut wait = MAX_WAIT . min ( MIN_WAIT * 2_u64 . pow ( retries) ) ;
107107 wait = rand:: thread_rng ( ) . gen_range ( MIN_WAIT ..=wait) ;
108108 std:: thread:: sleep ( Duration :: from_millis ( wait) ) ;
109109 retries += 1 ;
0 commit comments