mirror of
https://github.com/Such-Software/hash-wallet.git
synced 2026-10-17 05:41:29 +02:00
fix: socket error handling (#2521)
* fix: silence unhandled async errors in bitcoin_base fix: wrap all ProxySocket calls in try catch just to be sure * revert to v11 since pr is merged [skip ci] * revert to v11 since pr is merged [skip ci] * revert to v11 since pr is merged [skip ci] * revert to v11 since pr is merged [skip ci] --------- Co-authored-by: Omar Hatem <omarh.ismail1@gmail.com>
This commit is contained in:
@@ -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
|
||||
|
||||
@@ -16,25 +16,40 @@ class ProxySocketInsecure implements ProxySocket {
|
||||
|
||||
@override
|
||||
Future<void> 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
|
||||
|
||||
@@ -16,25 +16,40 @@ class ProxySocketSecure implements ProxySocket {
|
||||
|
||||
@override
|
||||
Future<void> 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
|
||||
|
||||
@@ -15,9 +15,14 @@ class ProxySocketSocks implements ProxySocket {
|
||||
|
||||
@override
|
||||
Future<void> 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
|
||||
|
||||
Reference in New Issue
Block a user