mirror of
https://github.com/zjs81/meshcore-open.git
synced 2026-04-20 22:13:48 +00:00
fix(tcp): cancel pending connects on disconnect and propagate remote close
This commit is contained in:
parent
7a2bb20bf7
commit
929c1c3d28
2 changed files with 5 additions and 3 deletions
|
|
@ -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();
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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());
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue