diff --git a/cw_bitcoin/pubspec.lock b/cw_bitcoin/pubspec.lock index 49ee880dc..851ec9c72 100644 --- a/cw_bitcoin/pubspec.lock +++ b/cw_bitcoin/pubspec.lock @@ -93,7 +93,7 @@ packages: dependency: "direct overridden" description: path: "." - ref: cake-update-v11 + ref: "490046a3e074dd7b9aaf7098a5efe61b6246d3b2" resolved-ref: "46e5a2d8a5438cb523a6104b70f5e5125a5663b3" url: "https://github.com/cake-tech/bitcoin_base" source: git diff --git a/cw_core/lib/utils/proxy_socket/insecure.dart b/cw_core/lib/utils/proxy_socket/insecure.dart index 114156fa8..2bcbec8c2 100644 --- a/cw_core/lib/utils/proxy_socket/insecure.dart +++ b/cw_core/lib/utils/proxy_socket/insecure.dart @@ -16,25 +16,40 @@ class ProxySocketInsecure implements ProxySocket { @override Future close() async { + try { if (_isClosed) return; - _isClosed = true; - return socket.close(); + _isClosed = true; + return socket.close(); + } catch (e) { + printV("ProxySocketInsecure: close: $e"); + return; + } } @override void destroy() async { - if (_isClosed) return; - _isClosed = true; - socket.destroy(); + try { + if (_isClosed) return; + _isClosed = true; + socket.destroy(); + } catch (e) { + printV("ProxySocketInsecure: destroy: $e"); + return; + } } @override void write(String data) { - if (_isClosed) { - printV("ProxySocketInsecure: write: socket is closed"); + try { + if (_isClosed) { + printV("ProxySocketInsecure: write: socket is closed"); + return; + } + socket.write(data); + } catch (e) { + printV("ProxySocketInsecure: write: $e"); return; } - socket.write(data); } @override diff --git a/cw_core/lib/utils/proxy_socket/secure.dart b/cw_core/lib/utils/proxy_socket/secure.dart index df7d34e4a..bf499d8ab 100644 --- a/cw_core/lib/utils/proxy_socket/secure.dart +++ b/cw_core/lib/utils/proxy_socket/secure.dart @@ -16,25 +16,40 @@ class ProxySocketSecure implements ProxySocket { @override Future close() async { - if (_isClosed) return; - _isClosed = true; - return socket.close(); + try { + if (_isClosed) return; + _isClosed = true; + return socket.close(); + } catch (e) { + printV("ProxySocketSecure: close: $e"); + return; + } } @override void destroy() async { + try { if (_isClosed) return; - _isClosed = true; - socket.destroy(); + _isClosed = true; + socket.destroy(); + } catch (e) { + printV("ProxySocketSecure: destroy: $e"); + return; + } } @override void write(String data) { - if (_isClosed) { - printV("ProxySocketSecure: write: socket is closed"); + try { + if (_isClosed) { + printV("ProxySocketSecure: write: socket is closed"); + return; + } + socket.write(data); + } catch (e) { + printV("ProxySocketSecure: write: $e"); return; } - socket.write(data); } @override diff --git a/cw_core/lib/utils/proxy_socket/socks.dart b/cw_core/lib/utils/proxy_socket/socks.dart index 4acd216c2..d004f94f8 100644 --- a/cw_core/lib/utils/proxy_socket/socks.dart +++ b/cw_core/lib/utils/proxy_socket/socks.dart @@ -15,9 +15,14 @@ class ProxySocketSocks implements ProxySocket { @override Future close() async { - if (_isClosed) return; - _isClosed = true; - return socket.close(); + try { + if (_isClosed) return; + _isClosed = true; + await socket.close(); + } catch (e) { + printV("ProxySocketSocks: close: $e"); + return; + } } @override @@ -25,11 +30,16 @@ class ProxySocketSocks implements ProxySocket { @override void write(String data) { - if (_isClosed) { - printV("ProxySocketSocks: write: socket is closed"); + try { + if (_isClosed) { + printV("ProxySocketSocks: write: socket is closed"); + return; + } + socket.write(data); + } catch (e) { + printV("ProxySocketSocks: write: $e"); return; } - socket.write(data); } @override