aboutsummaryrefslogtreecommitdiff
path: root/core/src
diff options
context:
space:
mode:
author1992414357@qq.com <1992414357@qq.com>2025-06-09 10:29:36 +0800
committer1992414357@qq.com <1992414357@qq.com>2025-06-09 10:29:36 +0800
commit44d61a897519e4f180d981d2c0846b9f59ef55c8 (patch)
tree20ef2fd0edfeb563ae026a47d2be2a348733f6b0 /core/src
parentc8ece4c62b6f8b5165de4d9d38a467bbc1e94a53 (diff)
解决了长连接的不中断bug
Diffstat (limited to 'core/src')
-rw-r--r--core/src/service/tcp_network/long_connection.rs12
1 files changed, 7 insertions, 5 deletions
diff --git a/core/src/service/tcp_network/long_connection.rs b/core/src/service/tcp_network/long_connection.rs
index ada9751..a08fc6d 100644
--- a/core/src/service/tcp_network/long_connection.rs
+++ b/core/src/service/tcp_network/long_connection.rs
@@ -181,7 +181,8 @@ impl PadClientNetwork {
LetExit(reason) => {
info!("[TCP Client] [Runtime] Server let you exit: {:?}", reason);
entry_mutex!(self.runtime, |guard| {
- guard.send(ControlMessage::End, 0, ServiceType::TCPConnection);
+ guard.send(ControlMessage::Exit, 0, TCPConnection);
+ guard.send(ControlMessage::End, 0, TCPConnection);
});
break;
}
@@ -193,7 +194,7 @@ impl PadClientNetwork {
} else {
warn!("[TCP Client] [Runtime] Too many error messages! Connection closed.");
entry_mutex!(self.runtime, |guard| {
- guard.send(ControlMessage::End, 0, ServiceType::TCPConnection);
+ guard.send(ControlMessage::End, 0, TCPConnection);
});
break;
}
@@ -205,7 +206,7 @@ impl PadClientNetwork {
// Process messages
entry_mutex!(self.runtime, |guard| {
trace!("[TCP Client] [Runtime] Received: {:?}", &message);
- guard.put_into_receive_list(message, 0, ServiceType::TCPConnection);
+ guard.put_into_receive_list(message, 0, TCPConnection);
});
}
Err(err) => {
@@ -228,7 +229,8 @@ impl PadClientNetwork {
if !closed {
entry_mutex!(self.runtime, |guard| {
if guard.close.load(SeqCst) {
- guard.send(ControlMessage::Exit, 0, ServiceType::TCPConnection);
+ guard.send(ControlMessage::Exit, 0, TCPConnection);
+ guard.send(ControlMessage::End, 0, TCPConnection);
closed = true;
}
});
@@ -236,7 +238,7 @@ impl PadClientNetwork {
let mut message = None;
entry_mutex!(self.runtime, |guard| {
- message = guard.pop_from_send_list(0, ServiceType::TCPConnection);
+ message = guard.pop_from_send_list(0, TCPConnection);
});
if let Some(message) = message {