From f6400640e3d28cb187af62c838bd83791393acef Mon Sep 17 00:00:00 2001 From: Sofia Date: Tue, 4 Aug 2026 21:04:00 +0300 Subject: [PATCH] Add kick-method for NetworkManager --- rust/src/net/network_manager.rs | 15 ++++++++++++++- teanet-rust | 2 +- 2 files changed, 15 insertions(+), 2 deletions(-) diff --git a/rust/src/net/network_manager.rs b/rust/src/net/network_manager.rs index 769f742..a40ef70 100644 --- a/rust/src/net/network_manager.rs +++ b/rust/src/net/network_manager.rs @@ -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")) } diff --git a/teanet-rust b/teanet-rust index bcc44fa..8abcf7f 160000 --- a/teanet-rust +++ b/teanet-rust @@ -1 +1 @@ -Subproject commit bcc44fa10ed03f14e99aef8880b05d2c11cfa7a8 +Subproject commit 8abcf7f0b733278b057672814e540bae2ec6eb1b