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

This commit is contained in:
just-stuff-tm 2026-03-09 20:39:17 -04:00
parent 7a2bb20bf7
commit 929c1c3d28
2 changed files with 5 additions and 3 deletions

View file

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

View file

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