From c7160cb629086df2a32c7dcf4faed4761ec4393e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lo=C3=AFc=20Blot?= Date: Thu, 24 Aug 2017 08:28:54 +0200 Subject: Network cleanup (#6302) * Cleanup network headers * Move peerhandler to a specific header to reduce compilation times * Move socket.cpp/h to network folder * More work * Network code cleanups * Move socket.{cpp,h} to network folder * Move Address object to network/address.{cpp,h} * Move network exceptions to network/networkexceptions.h * Client: use unique_ptr for Connection * Server/ClientIface: use shared_ptr for Connection * Format fixes * Remove socket.cpp socket.h from clang-format whitelist * Also fix NetworkPacket code style & make it under clang-format --- src/server.cpp | 26 ++++++++++++++++---------- 1 file changed, 16 insertions(+), 10 deletions(-) (limited to 'src/server.cpp') diff --git a/src/server.cpp b/src/server.cpp index 7d9cfbf59..5c09aee4d 100644 --- a/src/server.cpp +++ b/src/server.cpp @@ -21,6 +21,7 @@ with this program; if not, write to the Free Software Foundation, Inc., #include #include #include +#include "network/connection.h" #include "network/networkprotocol.h" #include "network/serveropcodes.h" #include "ban.h" @@ -157,17 +158,17 @@ Server::Server( m_simple_singleplayer_mode(simple_singleplayer_mode), m_dedicated(dedicated), m_async_fatal_error(""), - m_con(PROTOCOL_ID, + m_con(std::make_shared(PROTOCOL_ID, 512, CONNECTION_TIMEOUT, ipv6, - this), + this)), m_itemdef(createItemDefManager()), m_nodedef(createNodeDefManager()), m_craftdef(createCraftDefManager()), m_event(new EventManager()), m_uptime(0), - m_clients(&m_con), + m_clients(m_con), m_admin_chat(iface) { m_lag = g_settings->getFloat("dedicated_server_step"); @@ -377,8 +378,8 @@ void Server::start(Address bind_addr) m_thread->stop(); // Initialize connection - m_con.SetTimeoutMs(30); - m_con.Serve(bind_addr); + m_con->SetTimeoutMs(30); + m_con->Serve(bind_addr); // Start thread m_thread->start(); @@ -983,7 +984,7 @@ void Server::Receive() u16 peer_id; try { NetworkPacket pkt; - m_con.Receive(&pkt); + m_con->Receive(&pkt); peer_id = pkt.getPeerId(); ProcessData(&pkt); } catch (const con::InvalidIncomingDataException &e) { @@ -1308,7 +1309,7 @@ void Server::deletingPeer(con::Peer *peer, bool timeout) bool Server::getClientConInfo(u16 peer_id, con::rtt_stat_type type, float* retval) { - *retval = m_con.getPeerStat(peer_id,type); + *retval = m_con->getPeerStat(peer_id,type); return *retval != -1; } @@ -2623,7 +2624,7 @@ void Server::DenyAccessVerCompliant(u16 peer_id, u16 proto_ver, AccessDeniedCode } m_clients.event(peer_id, CSE_SetDenied); - m_con.DisconnectPeer(peer_id); + m_con->DisconnectPeer(peer_id); } @@ -2633,7 +2634,7 @@ void Server::DenyAccess(u16 peer_id, AccessDeniedCode reason, const std::string SendAccessDenied(peer_id, reason, custom_reason); m_clients.event(peer_id, CSE_SetDenied); - m_con.DisconnectPeer(peer_id); + m_con->DisconnectPeer(peer_id); } // 13/03/15: remove this function when protocol version 25 will become @@ -2644,7 +2645,7 @@ void Server::DenyAccess_Legacy(u16 peer_id, const std::wstring &reason) SendAccessDenied_Legacy(peer_id, reason); m_clients.event(peer_id, CSE_SetDenied); - m_con.DisconnectPeer(peer_id); + m_con->DisconnectPeer(peer_id); } void Server::acceptAuth(u16 peer_id, bool forSudoMode) @@ -3156,6 +3157,11 @@ const std::string& Server::hudGetHotbarSelectedImage(RemotePlayer *player) const return player->getHotbarSelectedImage(); } +Address Server::getPeerAddress(u16 peer_id) +{ + return m_con->GetPeerAddress(peer_id); +} + bool Server::setLocalPlayerAnimations(RemotePlayer *player, v2s32 animation_frames[4], f32 frame_speed) { -- cgit v1.2.3