`fix(tcp): cancel pending connects on disconnect and propagate remote close`

chore/offband-rebrand
just-stuff-tm 4 months ago
parent 7a2bb20bf7
commit 929c1c3d28

@ -22,9 +22,6 @@ class MeshCoreTcpManager {
} }
Future<void> disconnect() async { Future<void> disconnect() async {
if (!_service.isConnected && _service.activeEndpoint == null) {
return;
}
_debugLog?.info('TcpManager.disconnect', tag: 'TCP'); _debugLog?.info('TcpManager.disconnect', tag: 'TCP');
await _service.disconnect(); await _service.disconnect();
} }

@ -175,6 +175,11 @@ class TcpTransportService {
} }
void _handleSocketDone() { void _handleSocketDone() {
if (_status == TcpTransportStatus.disconnecting ||
_status == TcpTransportStatus.disconnected) {
return;
}
_addFrameError(StateError('TCP socket closed by remote endpoint'));
unawaited(disconnect()); unawaited(disconnect());
} }

Loading…
Cancel
Save

Powered by TurnKey Linux.