changeset 17652:c827b5a9115b draft

(svn r22424) -Document: some more bits
author rubidium <rubidium@openttd.org>
date Thu, 05 May 2011 16:24:48 +0000
parents bff3ae28bd54
children 13644cf49ddb
files src/network/network.cpp src/network/network_admin.cpp src/network/network_admin.h src/network/network_chat_gui.cpp src/network/network_gui.cpp src/network/network_internal.h src/network/network_server.cpp src/network/network_server.h
diffstat 8 files changed, 283 insertions(+), 43 deletions(-) [+]
line wrap: on
line diff
--- a/src/network/network.cpp
+++ b/src/network/network.cpp
@@ -126,7 +126,7 @@
  * @param client_id the ClientID to search for
  * @return return a pointer to the corresponding NetworkClientSocket struct or NULL when not found
  */
-/* static */ NetworkClientSocket *NetworkClientSocket::GetByClientID(ClientID client_id)
+/* static */ ServerNetworkGameSocketHandler *ServerNetworkGameSocketHandler::GetByClientID(ClientID client_id)
 {
 	NetworkClientSocket *cs;
 
@@ -479,6 +479,11 @@
 	}
 }
 
+/**
+ * Handle the acception of a connection to the server.
+ * @param s The socket of the new connection.
+ * @param address The address of the peer.
+ */
 /* static */ void ServerNetworkGameSocketHandler::AcceptConnection(SOCKET s, const NetworkAddress &address)
 {
 	/* Register the login */
--- a/src/network/network_admin.cpp
+++ b/src/network/network_admin.cpp
@@ -107,6 +107,11 @@
 	}
 }
 
+/**
+ * Handle the acception of a connection.
+ * @param s The socket of the new connection.
+ * @param address The address of the peer.
+ */
 /* static */ void ServerNetworkAdminSocketHandler::AcceptConnection(SOCKET s, const NetworkAddress &address)
 {
 	ServerNetworkAdminSocketHandler *as = new ServerNetworkAdminSocketHandler(s);
@@ -117,6 +122,10 @@
  * Sending functions for admin network
  ************/
 
+/**
+ * Send an error to the admin.
+ * @param error The error to send.
+ */
 NetworkRecvStatus ServerNetworkAdminSocketHandler::SendError(NetworkErrorCode error)
 {
 	Packet *p = new Packet(ADMIN_PACKET_SERVER_ERROR);
@@ -133,6 +142,7 @@
 	return this->CloseConnection(true);
 }
 
+/** Send the protocol version to the admin. */
 NetworkRecvStatus ServerNetworkAdminSocketHandler::SendProtocol()
 {
 	Packet *p = new Packet(ADMIN_PACKET_SERVER_PROTOCOL);
@@ -152,6 +162,7 @@
 	return this->SendWelcome();
 }
 
+/** Send a welcome message to the admin. */
 NetworkRecvStatus ServerNetworkAdminSocketHandler::SendWelcome()
 {
 	this->status = ADMIN_STATUS_ACTIVE;
@@ -174,6 +185,7 @@
 	return NETWORK_RECV_STATUS_OKAY;
 }
 
+/** Tell the admin we started a new game. */
 NetworkRecvStatus ServerNetworkAdminSocketHandler::SendNewGame()
 {
 	Packet *p = new Packet(ADMIN_PACKET_SERVER_NEWGAME);
@@ -181,6 +193,7 @@
 	return NETWORK_RECV_STATUS_OKAY;
 }
 
+/** Tell the admin we're shutting down. */
 NetworkRecvStatus ServerNetworkAdminSocketHandler::SendShutdown()
 {
 	Packet *p = new Packet(ADMIN_PACKET_SERVER_SHUTDOWN);
@@ -188,6 +201,7 @@
 	return NETWORK_RECV_STATUS_OKAY;
 }
 
+/** Tell the admin the date. */
 NetworkRecvStatus ServerNetworkAdminSocketHandler::SendDate()
 {
 	Packet *p = new Packet(ADMIN_PACKET_SERVER_DATE);
@@ -198,6 +212,10 @@
 	return NETWORK_RECV_STATUS_OKAY;
 }
 
+/**
+ * Tell the admin that a client joined.
+ * @param client_id The client that joined.
+ */
 NetworkRecvStatus ServerNetworkAdminSocketHandler::SendClientJoin(ClientID client_id)
 {
 	Packet *p = new Packet(ADMIN_PACKET_SERVER_CLIENT_JOIN);
@@ -208,6 +226,10 @@
 	return NETWORK_RECV_STATUS_OKAY;
 }
 
+/**
+ * Send an initial set of data from some client's information.
+ * @param cs The information about a client.
+ */
 NetworkRecvStatus ServerNetworkAdminSocketHandler::SendClientInfo(const NetworkClientSocket *cs)
 {
 	/* Only send data when we're a proper client, not just someone trying to query the server. */
@@ -228,6 +250,11 @@
 	return NETWORK_RECV_STATUS_OKAY;
 }
 
+
+/**
+ * Send an update for some client's information.
+ * @param ci The information about a client.
+ */
 NetworkRecvStatus ServerNetworkAdminSocketHandler::SendClientUpdate(const NetworkClientInfo *ci)
 {
 	Packet *p = new Packet(ADMIN_PACKET_SERVER_CLIENT_UPDATE);
@@ -241,6 +268,10 @@
 	return NETWORK_RECV_STATUS_OKAY;
 }
 
+/**
+ * Tell the admin that a client quit.
+ * @param client_id The client that quit.
+ */
 NetworkRecvStatus ServerNetworkAdminSocketHandler::SendClientQuit(ClientID client_id)
 {
 	Packet *p = new Packet(ADMIN_PACKET_SERVER_CLIENT_QUIT);
@@ -251,6 +282,11 @@
 	return NETWORK_RECV_STATUS_OKAY;
 }
 
+/**
+ * Tell the admin that a client made an error.
+ * @param client_id The client that made the error.
+ * @param error The error that was made.
+ */
 NetworkRecvStatus ServerNetworkAdminSocketHandler::SendClientError(ClientID client_id, NetworkErrorCode error)
 {
 	Packet *p = new Packet(ADMIN_PACKET_SERVER_CLIENT_ERROR);
@@ -262,6 +298,10 @@
 	return NETWORK_RECV_STATUS_OKAY;
 }
 
+/**
+ * Tell the admin that a new company was founded.
+ * @param company_id The company that was founded.
+ */
 NetworkRecvStatus ServerNetworkAdminSocketHandler::SendCompanyNew(CompanyID company_id)
 {
 	Packet *p = new Packet(ADMIN_PACKET_SERVER_COMPANY_NEW);
@@ -272,6 +312,10 @@
 	return NETWORK_RECV_STATUS_OKAY;
 }
 
+/**
+ * Send the admin some information about a company.
+ * @param c The company to send the information about.
+ */
 NetworkRecvStatus ServerNetworkAdminSocketHandler::SendCompanyInfo(const Company *c)
 {
 	char company_name[NETWORK_COMPANY_NAME_LENGTH];
@@ -298,6 +342,11 @@
 	return NETWORK_RECV_STATUS_OKAY;
 }
 
+
+/**
+ * Send an update about a company.
+ * @param c The company to send the update of.
+ */
 NetworkRecvStatus ServerNetworkAdminSocketHandler::SendCompanyUpdate(const Company *c)
 {
 	char company_name[NETWORK_COMPANY_NAME_LENGTH];
@@ -327,6 +376,11 @@
 	return NETWORK_RECV_STATUS_OKAY;
 }
 
+/**
+ * Tell the admin that a company got removed.
+ * @param company_id The company that got removed.
+ * @param acrr The reason for removal, e.g. bankruptcy or merger.
+ */
 NetworkRecvStatus ServerNetworkAdminSocketHandler::SendCompanyRemove(CompanyID company_id, AdminCompanyRemoveReason acrr)
 {
 	Packet *p = new Packet(ADMIN_PACKET_SERVER_COMPANY_REMOVE);
@@ -339,6 +393,7 @@
 	return NETWORK_RECV_STATUS_OKAY;
 }
 
+/** Send economic information of all companies. */
 NetworkRecvStatus ServerNetworkAdminSocketHandler::SendCompanyEconomy()
 {
 	const Company *company;
@@ -373,6 +428,7 @@
 	return NETWORK_RECV_STATUS_OKAY;
 }
 
+/** Send statistics about the companies. */
 NetworkRecvStatus ServerNetworkAdminSocketHandler::SendCompanyStats()
 {
 	/* Fetch the latest version of the stats. */
@@ -402,6 +458,14 @@
 	return NETWORK_RECV_STATUS_OKAY;
 }
 
+/**
+ * Send a chat message.
+ * @param action The action associated with the message.
+ * @param desttype The destination type.
+ * @param client_id The origin of the chat message.
+ * @param msg The actual message.
+ * @param data Arbitrary extra data.
+ */
 NetworkRecvStatus ServerNetworkAdminSocketHandler::SendChat(NetworkAction action, DestType desttype, ClientID client_id, const char *msg, int64 data)
 {
 	Packet *p = new Packet(ADMIN_PACKET_SERVER_CHAT);
@@ -416,6 +480,11 @@
 	return NETWORK_RECV_STATUS_OKAY;
 }
 
+/**
+ * Send the reply of an rcon command.
+ * @param colour The colour of the text.
+ * @param result The result of the command.
+ */
 NetworkRecvStatus ServerNetworkAdminSocketHandler::SendRcon(uint16 colour, const char *result)
 {
 	Packet *p = new Packet(ADMIN_PACKET_SERVER_RCON);
@@ -443,6 +512,11 @@
 	return NETWORK_RECV_STATUS_OKAY;
 }
 
+/**
+ * Send console output of other clients.
+ * @param origin The origin of the string.
+ * @param string The string that's put on the console.
+ */
 NetworkRecvStatus ServerNetworkAdminSocketHandler::SendConsole(const char *origin, const char *string)
 {
 	/* If the length of both strings, plus the 2 '\0' terminations and 3 bytes of the packet
@@ -460,6 +534,7 @@
 	return NETWORK_RECV_STATUS_OKAY;
 }
 
+/** Send the names of the commands. */
 NetworkRecvStatus ServerNetworkAdminSocketHandler::SendCmdNames()
 {
 	Packet *p = new Packet(ADMIN_PACKET_SERVER_CMD_NAMES);
@@ -489,6 +564,11 @@
 	return NETWORK_RECV_STATUS_OKAY;
 }
 
+/**
+ * Send a command for logging purposes.
+ * @param client_id The client executing the command.
+ * @param cp The command that would be executed.
+ */
 NetworkRecvStatus ServerNetworkAdminSocketHandler::SendCmdLogging(ClientID client_id, const CommandPacket *cp)
 {
 	Packet *p = new Packet(ADMIN_PACKET_SERVER_CMD_LOGGING);
--- a/src/network/network_admin.h
+++ b/src/network/network_admin.h
@@ -21,6 +21,7 @@
 extern AdminIndex _redirect_console_to_admin;
 
 class ServerNetworkAdminSocketHandler;
+/** Pool with all admin connections. */
 typedef Pool<ServerNetworkAdminSocketHandler, AdminIndex, 2, MAX_ADMINS, PT_NADMIN> NetworkAdminSocketPool;
 extern NetworkAdminSocketPool _networkadminsocket_pool;
 
@@ -82,7 +83,17 @@
 	}
 };
 
+/**
+ * Iterate over all the sockets from a given starting point.
+ * @param var The variable to iterate with.
+ * @param start The start of the iteration.
+ */
 #define FOR_ALL_ADMIN_SOCKETS_FROM(var, start) FOR_ALL_ITEMS_FROM(ServerNetworkAdminSocketHandler, adminsocket_index, var, start)
+
+/**
+ * Iterate over all the sockets.
+ * @param var The variable to iterate with.
+ */
 #define FOR_ALL_ADMIN_SOCKETS(var) FOR_ALL_ADMIN_SOCKETS_FROM(var, 0)
 
 void NetworkAdminClientInfo(const NetworkClientSocket *cs, bool new_client = false);
--- a/src/network/network_chat_gui.cpp
+++ b/src/network/network_chat_gui.cpp
@@ -30,30 +30,38 @@
 
 #include "table/strings.h"
 
-/* The draw buffer must be able to contain the chat message, client name and the "[All]" message,
+/** The draw buffer must be able to contain the chat message, client name and the "[All]" message,
  * some spaces and possible translations of [All] to other languages. */
 assert_compile((int)DRAW_STRING_BUFFER >= (int)NETWORK_CHAT_LENGTH + NETWORK_NAME_LENGTH + 40);
 
+/** Spacing between chat lines. */
 static const uint NETWORK_CHAT_LINE_SPACING = 3;
 
+/** Container for a message. */
 struct ChatMessage {
-	char message[DRAW_STRING_BUFFER];
-	TextColour colour;
-	uint32 remove_time;
+	char message[DRAW_STRING_BUFFER]; ///< The action message.
+	TextColour colour;  ///< The colour of the message.
+	uint32 remove_time; ///< The time to remove the message.
 };
 
 /* used for chat window */
-static ChatMessage *_chatmsg_list = NULL;
-static bool _chatmessage_dirty = false;
-static bool _chatmessage_visible = false;
-static bool _chat_tab_completion_active;
-static uint MAX_CHAT_MESSAGES = 0;
+static ChatMessage *_chatmsg_list = NULL; ///< The actual chat message list.
+static bool _chatmessage_dirty = false;   ///< Does the chat message need repainting?
+static bool _chatmessage_visible = false; ///< Is a chat message visible.
+static bool _chat_tab_completion_active;  ///< Whether tab completion is active.
+static uint MAX_CHAT_MESSAGES = 0;        ///< The limit of chat messages to show.
 
-/* The chatbox grows from the bottom so the coordinates are pixels from
- * the left and pixels from the bottom. The height is the maximum height */
+/**
+ * The chatbox grows from the bottom so the coordinates are pixels from
+ * the left and pixels from the bottom. The height is the maximum height.
+ */
 static PointDimension _chatmsg_box;
-static uint8 *_chatmessage_backup = NULL;
+static uint8 *_chatmessage_backup = NULL; ///< Backup in case text is moved.
 
+/**
+ * Count the chat messages.
+ * @return The number of chat messages.
+ */
 static inline uint GetChatMessageCount()
 {
 	uint i = 0;
@@ -119,6 +127,7 @@
 	_chatmessage_backup  = ReallocT(_chatmessage_backup, _chatmsg_box.width * _chatmsg_box.height * BlitterFactoryBase::GetCurrentBlitter()->GetBytesPerPixel());
 }
 
+/** Initialize all buffers of the chat visualisation. */
 void NetworkInitChatMessage()
 {
 	MAX_CHAT_MESSAGES    = _settings_client.gui.network_chat_box_height;
@@ -258,7 +267,12 @@
 	_chatmessage_dirty = false;
 }
 
-
+/**
+ * Send an actual chat message.
+ * @param buf The message to send.
+ * @param type The type of destination.
+ * @param dest The actual destination index.
+ */
 static void SendChat(const char *buf, DestType type, int dest)
 {
 	if (StrEmpty(buf)) return;
@@ -278,11 +292,18 @@
 	NWCW_SENDBUTTON,
 };
 
+/** Window to enter the chat message in. */
 struct NetworkChatWindow : public QueryStringBaseWindow {
-	DestType dtype;
-	StringID dest_string;
-	int dest;
+	DestType dtype;       ///< The type of destination.
+	StringID dest_string; ///< String representation of the destination.
+	int dest;             ///< The identifier of the destination.
 
+	/**
+	 * Create a chat input window.
+	 * @param desc Description of the looks of the window.
+	 * @param type The type of destination.
+	 * @param dest The actual destination index.
+	 */
 	NetworkChatWindow(const WindowDesc *desc, DestType type, int dest) : QueryStringBaseWindow(NETWORK_CHAT_LENGTH)
 	{
 		this->dtype   = type;
@@ -542,6 +563,7 @@
 	}
 };
 
+/** The widgets of the chat window. */
 static const NWidgetPart _nested_chat_window_widgets[] = {
 	NWidget(NWID_HORIZONTAL),
 		NWidget(WWT_CLOSEBOX, COLOUR_GREY, NWCW_CLOSE),
@@ -556,6 +578,7 @@
 	EndContainer(),
 };
 
+/** The description of the chat window. */
 static const WindowDesc _chat_window_desc(
 	WDP_MANUAL, 640, 14, // x, y, width, height
 	WC_SEND_NETWORK_MSG, WC_NONE,
@@ -563,6 +586,12 @@
 	_nested_chat_window_widgets, lengthof(_nested_chat_window_widgets)
 );
 
+
+/**
+ * Show the chat window.
+ * @param type The type of destination.
+ * @param dest The actual destination index.
+ */
 void ShowNetworkChatQueryWindow(DestType type, int dest)
 {
 	DeleteWindowByClass(WC_SEND_NETWORK_MSG);
--- a/src/network/network_gui.cpp
+++ b/src/network/network_gui.cpp
@@ -2045,11 +2045,10 @@
 	AllocateWindowDescFront<NetworkClientListWindow>(&_client_list_desc, 0);
 }
 
-/* Vars needed for the join-GUI */
-NetworkJoinStatus _network_join_status;
-uint8 _network_join_waiting;
-uint32 _network_join_bytes;
-uint32 _network_join_bytes_total;
+NetworkJoinStatus _network_join_status; ///< The status of joining.
+uint8 _network_join_waiting;            ///< The number of clients waiting in front of us.
+uint32 _network_join_bytes;             ///< The number of bytes we already downloaded.
+uint32 _network_join_bytes_total;       ///< The total number of bytes to download.
 
 /** Widgets used for the join status window. */
 enum NetworkJoinStatusWidgets {
--- a/src/network/network_internal.h
+++ b/src/network/network_internal.h
@@ -52,7 +52,7 @@
 
 typedef class ServerNetworkGameSocketHandler NetworkClientSocket;
 
-
+/** Status of the clients during joining. */
 enum NetworkJoinStatus {
 	NETWORK_JOIN_STATUS_CONNECTING,
 	NETWORK_JOIN_STATUS_AUTHORIZING,
--- a/src/network/network_server.cpp
+++ b/src/network/network_server.cpp
@@ -43,8 +43,10 @@
 
 /** Make very sure the preconditions given in network_type.h are actually followed */
 assert_compile(MAX_CLIENT_SLOTS > MAX_CLIENTS);
+/** Yes... */
 assert_compile(NetworkClientSocketPool::MAX_SIZE == MAX_CLIENT_SLOTS);
 
+/** The pool with clients. */
 NetworkClientSocketPool _networkclientsocket_pool("NetworkClientSocket");
 INSTANTIATE_POOL_METHODS(NetworkClientSocket)
 
@@ -296,6 +298,10 @@
  *   DEF_SERVER_SEND_COMMAND has parameter: NetworkClientSocket *cs
  ************/
 
+/**
+ * Send the client information about a client.
+ * @param ci The client to send information about.
+ */
 NetworkRecvStatus ServerNetworkGameSocketHandler::SendClientInfo(NetworkClientInfo *ci)
 {
 	if (ci->client_id != INVALID_CLIENT_ID) {
@@ -309,6 +315,7 @@
 	return NETWORK_RECV_STATUS_OKAY;
 }
 
+/** Send the client information about the companies. */
 NetworkRecvStatus ServerNetworkGameSocketHandler::SendCompanyInfo()
 {
 	/* Fetch the latest version of the stats */
@@ -371,6 +378,10 @@
 	return NETWORK_RECV_STATUS_OKAY;
 }
 
+/**
+ * Send an error to the client, and close its connection.
+ * @param error The error to disconnect for.
+ */
 NetworkRecvStatus ServerNetworkGameSocketHandler::SendError(NetworkErrorCode error)
 {
 	char str[100];
@@ -413,6 +424,7 @@
 	return this->CloseConnection(NETWORK_RECV_STATUS_SERVER_ERROR);
 }
 
+/** Send the check for the NewGRFs. */
 NetworkRecvStatus ServerNetworkGameSocketHandler::SendNewGRFCheck()
 {
 	Packet *p = new Packet(PACKET_SERVER_CHECK_NEWGRFS);
@@ -432,6 +444,7 @@
 	return NETWORK_RECV_STATUS_OKAY;
 }
 
+/** Request the game password. */
 NetworkRecvStatus ServerNetworkGameSocketHandler::SendNeedGamePassword()
 {
 	/* Invalid packet when status is STATUS_AUTH_GAME or higher */
@@ -444,6 +457,7 @@
 	return NETWORK_RECV_STATUS_OKAY;
 }
 
+/** Request the company password. */
 NetworkRecvStatus ServerNetworkGameSocketHandler::SendNeedCompanyPassword()
 {
 	/* Invalid packet when status is STATUS_AUTH_COMPANY or higher */
@@ -458,6 +472,7 @@
 	return NETWORK_RECV_STATUS_OKAY;
 }
 
+/** Send the client a welcome message with some basic information. */
 NetworkRecvStatus ServerNetworkGameSocketHandler::SendWelcome()
 {
 	Packet *p;
@@ -485,6 +500,7 @@
 	return this->SendClientInfo(NetworkClientInfo::GetByClientID(CLIENT_ID_SERVER));
 }
 
+/** Tell the client that its put in a waiting queue. */
 NetworkRecvStatus ServerNetworkGameSocketHandler::SendWait()
 {
 	int waiting = 0;
@@ -503,7 +519,7 @@
 	return NETWORK_RECV_STATUS_OKAY;
 }
 
-/* This sends the map to the client */
+/** This sends the map to the client */
 NetworkRecvStatus ServerNetworkGameSocketHandler::SendMap()
 {
 	static uint sent_packets; // How many packets we did send succecfully last time
@@ -609,6 +625,10 @@
 	return NETWORK_RECV_STATUS_OKAY;
 }
 
+/**
+ * Tell that a client joined.
+ * @param client_id The client that joined.
+ */
 NetworkRecvStatus ServerNetworkGameSocketHandler::SendJoin(ClientID client_id)
 {
 	Packet *p = new Packet(PACKET_SERVER_JOIN);
@@ -619,7 +639,7 @@
 	return NETWORK_RECV_STATUS_OKAY;
 }
 
-
+/** Tell the client that they may run to a particular frame. */
 NetworkRecvStatus ServerNetworkGameSocketHandler::SendFrame()
 {
 	Packet *p = new Packet(PACKET_SERVER_FRAME);
@@ -642,6 +662,7 @@
 	return NETWORK_RECV_STATUS_OKAY;
 }
 
+/** Request the client to sync. */
 NetworkRecvStatus ServerNetworkGameSocketHandler::SendSync()
 {
 	Packet *p = new Packet(PACKET_SERVER_SYNC);
@@ -655,6 +676,10 @@
 	return NETWORK_RECV_STATUS_OKAY;
 }
 
+/**
+ * Send a command to the client to execute.
+ * @param cp The command to send.
+ */
 NetworkRecvStatus ServerNetworkGameSocketHandler::SendCommand(const CommandPacket *cp)
 {
 	Packet *p = new Packet(PACKET_SERVER_COMMAND);
@@ -667,6 +692,14 @@
 	return NETWORK_RECV_STATUS_OKAY;
 }
 
+/**
+ * Send a chat message.
+ * @param action The action associated with the message.
+ * @param client_id The origin of the chat message.
+ * @param self_send Whether we did send the message.
+ * @param msg The actual message.
+ * @param data Arbitrary extra data.
+ */
 NetworkRecvStatus ServerNetworkGameSocketHandler::SendChat(NetworkAction action, ClientID client_id, bool self_send, const char *msg, int64 data)
 {
 	Packet *p = new Packet(PACKET_SERVER_CHAT);
@@ -681,6 +714,11 @@
 	return NETWORK_RECV_STATUS_OKAY;
 }
 
+/**
+ * Tell the client another client quit with an error.
+ * @param client_id The client that quit.
+ * @param errorno The reason the client quit.
+ */
 NetworkRecvStatus ServerNetworkGameSocketHandler::SendErrorQuit(ClientID client_id, NetworkErrorCode errorno)
 {
 	Packet *p = new Packet(PACKET_SERVER_ERROR_QUIT);
@@ -692,6 +730,10 @@
 	return NETWORK_RECV_STATUS_OKAY;
 }
 
+/**
+ * Tell the client another client quit.
+ * @param client_id The client that quit.
+ */
 NetworkRecvStatus ServerNetworkGameSocketHandler::SendQuit(ClientID client_id)
 {
 	Packet *p = new Packet(PACKET_SERVER_QUIT);
@@ -702,6 +744,7 @@
 	return NETWORK_RECV_STATUS_OKAY;
 }
 
+/** Tell the client we're shutting down. */
 NetworkRecvStatus ServerNetworkGameSocketHandler::SendShutdown()
 {
 	Packet *p = new Packet(PACKET_SERVER_SHUTDOWN);
@@ -709,6 +752,7 @@
 	return NETWORK_RECV_STATUS_OKAY;
 }
 
+/** Tell the client we're starting a new game. */
 NetworkRecvStatus ServerNetworkGameSocketHandler::SendNewGame()
 {
 	Packet *p = new Packet(PACKET_SERVER_NEWGAME);
@@ -716,6 +760,11 @@
 	return NETWORK_RECV_STATUS_OKAY;
 }
 
+/**
+ * Send the result of a console action.
+ * @param colour The colour of the result.
+ * @param command The command that was executed.
+ */
 NetworkRecvStatus ServerNetworkGameSocketHandler::SendRConResult(uint16 colour, const char *command)
 {
 	Packet *p = new Packet(PACKET_SERVER_RCON);
@@ -726,6 +775,11 @@
 	return NETWORK_RECV_STATUS_OKAY;
 }
 
+/**
+ * Tell that a client moved to another company.
+ * @param client_id The client that moved.
+ * @param company_id The company the client moved to.
+ */
 NetworkRecvStatus ServerNetworkGameSocketHandler::SendMove(ClientID client_id, CompanyID company_id)
 {
 	Packet *p = new Packet(PACKET_SERVER_MOVE);
@@ -736,6 +790,7 @@
 	return NETWORK_RECV_STATUS_OKAY;
 }
 
+/** Send an update about the company password states. */
 NetworkRecvStatus ServerNetworkGameSocketHandler::SendCompanyUpdate()
 {
 	Packet *p = new Packet(PACKET_SERVER_COMPANY_UPDATE);
@@ -745,6 +800,7 @@
 	return NETWORK_RECV_STATUS_OKAY;
 }
 
+/** Send an update about the max company/spectator counts. */
 NetworkRecvStatus ServerNetworkGameSocketHandler::SendConfigUpdate()
 {
 	Packet *p = new Packet(PACKET_SERVER_CONFIG_UPDATE);
@@ -1168,7 +1224,16 @@
 }
 
 
-
+/**
+ * Send an actual chat message.
+ * @param action The action that's performed.
+ * @param desttype The type of destination.
+ * @param dest The actual destination index.
+ * @param msg The actual message.
+ * @param from_id The origin of the message.
+ * @param data Arbitrary data.
+ * @param from_admin Whether the origin is an admin or not.
+ */
 void NetworkServerSendChat(NetworkAction action, DestType desttype, int dest, const char *msg, ClientID from_id, int64 data, bool from_admin)
 {
 	NetworkClientSocket *cs;
@@ -1499,7 +1564,10 @@
 	}
 }
 
-/* Send a packet to all clients with updated info about this client_id */
+/**
+ * Send updated client info of a particular client.
+ * @param client_id The client to send it for.
+ */
 void NetworkUpdateClientInfo(ClientID client_id)
 {
 	NetworkClientSocket *cs;
@@ -1516,7 +1584,7 @@
 	NetworkAdminClientUpdate(ci);
 }
 
-/* Check if we want to restart the map */
+/** Check if we want to restart the map */
 static void NetworkCheckRestartMap()
 {
 	if (_settings_client.network.restart_game_year != 0 && _cur_year >= _settings_client.network.restart_game_year) {
@@ -1526,11 +1594,12 @@
 	}
 }
 
-/* Check if the server has autoclean_companies activated
-    Two things happen:
-      1) If a company is not protected, it is closed after 1 year (for example)
-      2) If a company is protected, protection is disabled after 3 years (for example)
-           (and item 1. happens a year later) */
+/** Check if the server has autoclean_companies activated
+ * Two things happen:
+ *     1) If a company is not protected, it is closed after 1 year (for example)
+ *     2) If a company is protected, protection is disabled after 3 years (for example)
+ *          (and item 1. happens a year later)
+ */
 static void NetworkAutoCleanCompanies()
 {
 	const NetworkClientInfo *ci;
@@ -1600,8 +1669,11 @@
 	}
 }
 
-/* This function changes new_name to a name that is unique (by adding #1 ...)
- *  and it returns true if that succeeded. */
+/**
+ * Check whether a name is unique, and otherwise try to make it unique.
+ * @param new_name The name to check/modify.
+ * @return True if an unique name was achieved.
+ */
 bool NetworkFindName(char new_name[NETWORK_CLIENT_NAME_LENGTH])
 {
 	bool found_name = false;
@@ -1683,7 +1755,10 @@
 	NetworkServerUpdateCompanyPassworded(company_id, !StrEmpty(_network_company_states[company_id].password));
 }
 
-/* Handle the local command-queue */
+/**
+ * Handle the command-queue of a socket.
+ * @param cs The socket to handle the queue for.
+ */
 static void NetworkHandleCommandQueue(NetworkClientSocket *cs)
 {
 	CommandPacket *cp;
@@ -1693,7 +1768,10 @@
 	}
 }
 
-/* This is called every tick if this is a _network_server */
+/**
+ * This is called every tick if this is a _network_server
+ * @param send_frame Whether to send the frame to the clients.
+ */
 void NetworkServer_Tick(bool send_frame)
 {
 	NetworkClientSocket *cs;
@@ -1817,6 +1895,7 @@
 	return this->client_address.GetHostname();
 }
 
+/** Show the status message of all clients on the console. */
 void NetworkServerShowStatusToConsole()
 {
 	static const char * const stat_str[] = {
@@ -1860,6 +1939,11 @@
 	}
 }
 
+/**
+ * Tell that a particular company is (not) passworded.
+ * @param company_id The company that got/removed the password.
+ * @param passworded Whether the password was received or removed.
+ */
 void NetworkServerUpdateCompanyPassworded(CompanyID company_id, bool passworded)
 {
 	if (NetworkCompanyIsPassworded(company_id) == passworded) return;
@@ -1909,27 +1993,42 @@
 	NetworkServerSendChat(action, DESTTYPE_BROADCAST, 0, "", client_id, company_id + 1);
 }
 
+/**
+ * Send an rcon reply to the client.
+ * @param client_id The identifier of the client.
+ * @param colour_code The colour of the text.
+ * @param string The actual reply.
+ */
 void NetworkServerSendRcon(ClientID client_id, TextColour colour_code, const char *string)
 {
 	NetworkClientSocket::GetByClientID(client_id)->SendRConResult(colour_code, string);
 }
 
-static void NetworkServerSendError(ClientID client_id, NetworkErrorCode error)
-{
-	NetworkClientSocket::GetByClientID(client_id)->SendError(error);
-}
-
+/**
+ * Kick a single client.
+ * @param client_id The client to kick.
+ */
 void NetworkServerKickClient(ClientID client_id)
 {
 	if (client_id == CLIENT_ID_SERVER) return;
-	NetworkServerSendError(client_id, NETWORK_ERROR_KICKED);
+	NetworkClientSocket::GetByClientID(client_id)->SendError(NETWORK_ERROR_KICKED);
 }
 
+/**
+ * Ban, or kick, everyone joined from the given client's IP.
+ * @param client_id The client to check for.
+ * @param ban Whether to ban or kick.
+ */
 uint NetworkServerKickOrBanIP(ClientID client_id, bool ban)
 {
 	return NetworkServerKickOrBanIP(NetworkClientSocket::GetByClientID(client_id)->GetClientIP(), ban);
 }
 
+/**
+ * Kick or ban someone based on an IP address.
+ * @param ip The IP address/range to ban/kick.
+ * @param ban Whether to ban or just kick.
+ */
 uint NetworkServerKickOrBanIP(const char *ip, bool ban)
 {
 	/* Add address to ban-list */
@@ -1950,6 +2049,11 @@
 	return n;
 }
 
+/**
+ * Check whether a particular company has clients.
+ * @param company The company to check.
+ * @return True if at least one client is joined to the company.
+ */
 bool NetworkCompanyHasClients(CompanyID company)
 {
 	const NetworkClientInfo *ci;
--- a/src/network/network_server.h
+++ b/src/network/network_server.h
@@ -19,7 +19,9 @@
 #include "../thread/thread.h"
 
 class ServerNetworkGameSocketHandler;
+/** Make the code look slightliy nicer/simpler. */
 typedef ServerNetworkGameSocketHandler NetworkClientSocket;
+/** Pool with all client sockets. */
 typedef Pool<NetworkClientSocket, ClientIndex, 8, MAX_CLIENT_SLOTS, PT_NCLIENT> NetworkClientSocketPool;
 extern NetworkClientSocketPool _networkclientsocket_pool;
 
@@ -125,7 +127,17 @@
 void NetworkServer_Tick(bool send_frame);
 void NetworkServerSetCompanyPassword(CompanyID company_id, const char *password, bool already_hashed = true);
 
+/**
+ * Iterate over all the sockets from a given starting point.
+ * @param var The variable to iterate with.
+ * @param start The start of the iteration.
+ */
 #define FOR_ALL_CLIENT_SOCKETS_FROM(var, start) FOR_ALL_ITEMS_FROM(NetworkClientSocket, clientsocket_index, var, start)
+
+/**
+ * Iterate over all the sockets.
+ * @param var The variable to iterate with.
+ */
 #define FOR_ALL_CLIENT_SOCKETS(var) FOR_ALL_CLIENT_SOCKETS_FROM(var, 0)
 
 #else /* ENABLE_NETWORK */