From f165aec824cacdadd20f59a83ad3a9da24260fd9 Mon Sep 17 00:00:00 2001 From: Persson-dev Date: Sat, 20 Jul 2024 10:41:15 +0200 Subject: [PATCH] make EnetConnection non copyable --- include/blitz/network/EnetClient.h | 1 - include/blitz/network/EnetConnexion.h | 3 ++- include/blitz/network/EnetServer.h | 3 +-- src/blitz/network/EnetServer.cpp | 5 +++-- 4 files changed, 6 insertions(+), 6 deletions(-) diff --git a/include/blitz/network/EnetClient.h b/include/blitz/network/EnetClient.h index bec0660..2ca3148 100644 --- a/include/blitz/network/EnetClient.h +++ b/include/blitz/network/EnetClient.h @@ -1,7 +1,6 @@ #pragma once #include -#include #include #include diff --git a/include/blitz/network/EnetConnexion.h b/include/blitz/network/EnetConnexion.h index 3979ae9..77575ba 100644 --- a/include/blitz/network/EnetConnexion.h +++ b/include/blitz/network/EnetConnexion.h @@ -7,6 +7,7 @@ #include #include +#include #include #include @@ -34,7 +35,7 @@ class EnetServer; -class EnetConnexion { +class EnetConnexion : private NonCopyable { public: EnetConnexion(Nz::ENetPeer* a_Peer = nullptr); diff --git a/include/blitz/network/EnetServer.h b/include/blitz/network/EnetServer.h index 7d9709f..915a90b 100644 --- a/include/blitz/network/EnetServer.h +++ b/include/blitz/network/EnetServer.h @@ -2,7 +2,6 @@ #include #include -#include #include #include #include @@ -35,7 +34,7 @@ class EnetServer : private NonCopyable { Nz::ENetHost m_Host; bool m_Running; std::thread m_Thread; - std::map m_Connexion; + std::map> m_Connexion; }; } // namespace network diff --git a/src/blitz/network/EnetServer.cpp b/src/blitz/network/EnetServer.cpp index ffb094a..856f935 100644 --- a/src/blitz/network/EnetServer.cpp +++ b/src/blitz/network/EnetServer.cpp @@ -46,7 +46,8 @@ void EnetServer::Update() { case Nz::ENetEventType::IncomingConnect: { Nz::ENetPeer* peer = event.peer; - m_Connexion.insert({peer->GetPeerId(), EnetConnexion(peer)}); + auto con = std::make_unique(peer); + m_Connexion.insert({peer->GetPeerId(), std::move(con)}); OnClientConnect(*GetConnexion(peer->GetPeerId())); break; } @@ -73,7 +74,7 @@ EnetConnexion* EnetServer::GetConnexion(std::uint16_t a_PeerId) { if (it == m_Connexion.end()) return nullptr; - return &it->second; + return it->second.get(); } /*void EnetServer::BroadcastPacket(const protocol::Packet& a_Packet, Nz::ENetPacketFlags a_Flags) {