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 godot::{prelude::*, tools::get_autoload_by_name};
|
||||||
use serde::{Deserialize, Serialize};
|
use serde::{Deserialize, Serialize};
|
||||||
use teanet::{Peer, PeerConfig, PeerMessage};
|
use teanet::{Peer, PeerConfig, PeerMessage, package::CloseReason};
|
||||||
|
|
||||||
use crate::{
|
use crate::{
|
||||||
announcer::Announcement,
|
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 {
|
fn identifier() -> String {
|
||||||
format!("{}@{}", env!("CARGO_PKG_NAME"), env!("CARGO_PKG_VERSION"))
|
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