diff --git a/src/client.rs b/src/client.rs index 9961503..616c151 100644 --- a/src/client.rs +++ b/src/client.rs @@ -187,12 +187,9 @@ where IO: AsyncRead + AsyncWrite, { fn shutdown(&mut self) -> Poll<(), io::Error> { - match self.state { - s if !s.writeable() => (), - _ => { - self.session.send_close_notify(); - self.state.shutdown_write(); - } + if self.state.writeable() { + self.session.send_close_notify(); + self.state.shutdown_write(); } let mut stream = Stream::new(&mut self.io, &mut self.session); diff --git a/src/server.rs b/src/server.rs index e6f5701..1568414 100644 --- a/src/server.rs +++ b/src/server.rs @@ -121,12 +121,9 @@ where IO: AsyncRead + AsyncWrite, { fn shutdown(&mut self) -> Poll<(), io::Error> { - match self.state { - s if !s.writeable() => (), - _ => { - self.session.send_close_notify(); - self.state.shutdown_write(); - } + if self.state.writeable() { + self.session.send_close_notify(); + self.state.shutdown_write(); } let mut stream = Stream::new(&mut self.io, &mut self.session);