From 559e03f9043f910d2ed27e000270a0895998f48f Mon Sep 17 00:00:00 2001 From: yggverse Date: Sat, 30 Nov 2024 17:38:03 +0200 Subject: [PATCH] handle cancellable option --- src/client/connection.rs | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/src/client/connection.rs b/src/client/connection.rs index 0ea8608..00278cc 100644 --- a/src/client/connection.rs +++ b/src/client/connection.rs @@ -60,10 +60,14 @@ impl Connection { } /// Close owned [SocketConnection](https://docs.gtk.org/gio/class.SocketConnection.html) - pub fn close(&self) -> Result<(), Error> { - match self.socket_connection.close(self.cancellable.as_ref()) { - Ok(()) => Ok(()), - Err(e) => Err(Error::SocketConnection(e)), + /// * return `Ok(false)` if `Cancellable` not defined + pub fn close(&self) -> Result { + match self.cancellable { + Some(ref cancellable) => match self.socket_connection.close(Some(cancellable)) { + Ok(()) => Ok(true), + Err(e) => Err(Error::SocketConnection(e)), + }, + None => Ok(false), } }