Change: move some things only relevant to UDP from network.cpp to network_udp.cpp

This commit is contained in:
Rubidium 2021-04-11 11:22:50 +02:00 committed by Patric Stout
parent c4bccd4f70
commit ca6b9ad8b0
4 changed files with 13 additions and 14 deletions

View File

@ -74,19 +74,12 @@ uint32 _sync_seed_2; ///< Second part of the seed.
#endif
uint32 _sync_frame; ///< The frame to perform the sync check.
bool _network_first_time; ///< Whether we have finished joining or not.
bool _network_udp_server; ///< Is the UDP server started?
uint16 _network_udp_broadcast; ///< Timeout for the UDP broadcasts.
uint8 _network_advertise_retries; ///< The number of advertisement retries we did.
CompanyMask _network_company_passworded; ///< Bitmask of the password status of all companies.
/* Check whether NETWORK_NUM_LANDSCAPES is still in sync with NUM_LANDSCAPE */
static_assert((int)NETWORK_NUM_LANDSCAPES == (int)NUM_LANDSCAPE);
static_assert((int)NETWORK_COMPANY_NAME_LENGTH == MAX_LENGTH_COMPANY_NAME_CHARS * MAX_CHAR_LENGTH);
extern NetworkUDPSocketHandler *_udp_client_socket; ///< udp client socket
extern NetworkUDPSocketHandler *_udp_server_socket; ///< udp server socket
extern NetworkUDPSocketHandler *_udp_master_socket; ///< udp master socket
/** The amount of clients connected */
byte _network_clients_connected = 0;
@ -724,7 +717,7 @@ bool NetworkServerStart()
/* Try to start UDP-server */
DEBUG(net, 1, "starting listeners for incoming server queries");
_network_udp_server = _udp_server_socket->Listen();
NetworkUDPServerListen();
_network_company_states = CallocT<NetworkCompanyState>(MAX_COMPANIES);
_network_server = true;
@ -1060,7 +1053,6 @@ void NetworkStartUp()
_network_available = NetworkCoreInitialize();
_network_dedicated = false;
_network_need_advertise = true;
_network_advertise_retries = 0;
/* Generate an server id when there is none yet */
if (StrEmpty(_settings_client.network.network_id)) NetworkGenerateServerId();

View File

@ -126,11 +126,6 @@ extern uint32 _network_join_bytes_total;
extern uint8 _network_reconnect;
extern bool _network_udp_server;
extern uint16 _network_udp_broadcast;
extern uint8 _network_advertise_retries;
extern CompanyMask _network_company_passworded;
void NetworkTCPQueryServer(NetworkAddress address);

View File

@ -47,6 +47,10 @@ NetworkUDPSocketHandler *_udp_client_socket = nullptr; ///< udp client socket
NetworkUDPSocketHandler *_udp_server_socket = nullptr; ///< udp server socket
NetworkUDPSocketHandler *_udp_master_socket = nullptr; ///< udp master socket
static bool _network_udp_server; ///< Is the UDP server started?
static uint16 _network_udp_broadcast; ///< Timeout for the UDP broadcasts.
static uint8 _network_advertise_retries; ///< The number of advertisement retries we did.
/**
* Helper function doing the actual work for querying the server.
* @param address The address of the server.
@ -622,6 +626,13 @@ void NetworkUDPInitialize()
_network_udp_server = false;
_network_udp_broadcast = 0;
_network_advertise_retries = 0;
}
/** Start the listening of the UDP server component. */
void NetworkUDPServerListen()
{
_network_udp_server = _udp_server_socket->Listen();
}
/** Close all UDP related stuff. */

View File

@ -19,6 +19,7 @@ void NetworkUDPQueryServer(NetworkAddress address, bool manually = false);
void NetworkUDPAdvertise();
void NetworkUDPRemoveAdvertise(bool blocking);
void NetworkUDPClose();
void NetworkUDPServerListen();
void NetworkBackgroundUDPLoop();
#endif /* NETWORK_UDP_H */