diff options
author | Loïc Blot <nerzhul@users.noreply.github.com> | 2017-08-24 08:28:54 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-08-24 08:28:54 +0200 |
commit | c7160cb629086df2a32c7dcf4faed4761ec4393e (patch) | |
tree | 63670a536ce95f6a3a1ce09bf2f2f65d1bec5214 /src/server.cpp | |
parent | 928609c8bd9d4e6129ab244214bd5c54d000b737 (diff) | |
download | minetest-c7160cb629086df2a32c7dcf4faed4761ec4393e.tar.gz minetest-c7160cb629086df2a32c7dcf4faed4761ec4393e.tar.bz2 minetest-c7160cb629086df2a32c7dcf4faed4761ec4393e.zip |
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
Diffstat (limited to 'src/server.cpp')
-rw-r--r-- | src/server.cpp | 26 |
1 files changed, 16 insertions, 10 deletions
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 <iostream> #include <queue> #include <algorithm> +#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<con::Connection>(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) { |