close all connections when stop service
Signed-off-by: 21pages <pages21@163.com>
This commit is contained in:
parent
565c758bd7
commit
dd04f76ec0
5 changed files with 40 additions and 9 deletions
|
|
@ -264,6 +264,17 @@ impl Server {
|
|||
self.connections.remove(&conn.id());
|
||||
}
|
||||
|
||||
pub fn close_connections(&mut self) {
|
||||
let conn_inners: Vec<_> = self.connections.values_mut().collect();
|
||||
for c in conn_inners {
|
||||
let mut misc = Misc::new();
|
||||
misc.set_stop_service(true);
|
||||
let mut msg = Message::new();
|
||||
msg.set_misc(misc);
|
||||
c.send(Arc::new(msg));
|
||||
}
|
||||
}
|
||||
|
||||
fn add_service(&mut self, service: Box<dyn Service>) {
|
||||
let name = service.name();
|
||||
self.services.insert(name, service);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue