Why do you put `shutdown_complete_rx: mpsc::Receiver<()>` into `Listner` struct if it never used inside of it? https://github.com/tokio-rs/mini-redis/blob/ebe4e1f33113d8e43a68199d04943b2581b33604/src/server.rs#L63 while `shutdown_complete_tx: mpsc::Sender<()>` seems reasonable for me.