Add kick-method for NetworkManager
This commit is contained in:
parent
748c13935b
commit
f6400640e3
@ -6,7 +6,7 @@ use std::{
|
||||
|
||||
use godot::{prelude::*, tools::get_autoload_by_name};
|
||||
use serde::{Deserialize, Serialize};
|
||||
use teanet::{Peer, PeerConfig, PeerMessage};
|
||||
use teanet::{Peer, PeerConfig, PeerMessage, package::CloseReason};
|
||||
|
||||
use crate::{
|
||||
announcer::Announcement,
|
||||
@ -306,6 +306,19 @@ impl NetworkManager {
|
||||
}
|
||||
}
|
||||
|
||||
pub fn kick(&mut self, socket_addr: &SocketAddr) {
|
||||
if let Some(peer) = &mut self.peer {
|
||||
match peer {
|
||||
PeerKind::Client(peer, _) => {
|
||||
peer.close();
|
||||
}
|
||||
PeerKind::Server(peer, _) => {
|
||||
peer.close_connection(socket_addr, CloseReason::Kicked);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
fn identifier() -> String {
|
||||
format!("{}@{}", env!("CARGO_PKG_NAME"), env!("CARGO_PKG_VERSION"))
|
||||
}
|
||||
|
||||
@ -1 +1 @@
|
||||
Subproject commit bcc44fa10ed03f14e99aef8880b05d2c11cfa7a8
|
||||
Subproject commit 8abcf7f0b733278b057672814e540bae2ec6eb1b
|
||||
Loading…
Reference in New Issue
Block a user