Merged with default protocol5

Wed, 20 Jul 2016 18:24:13 +0300

author
Teemu Piippo <teemu@compsta2.com>
date
Wed, 20 Jul 2016 18:24:13 +0300
branch
protocol5
changeset 153
82aac80a2f1d
parent 151
267ef11bd3ba (current diff)
parent 152
6be21be4bea1 (diff)
child 155
9f71f854474a

Merged with default

sources/network/rconsession.cpp file | annotate | diff | comparison | revisions
sources/network/rconsession.h file | annotate | diff | comparison | revisions
sources/network/udpsocket.cpp file | annotate | diff | comparison | revisions
--- a/sources/network/rconsession.cpp	Wed Jul 20 17:57:35 2016 +0300
+++ b/sources/network/rconsession.cpp	Wed Jul 20 18:24:13 2016 +0300
@@ -123,19 +123,18 @@
 //
 void RCONSession::handle_packet (Datagram& datagram)
 {
-	if (datagram.from != m_address)
+	if (datagram.address != m_address)
 		return;
 
 	try
 	{
-		Bytestream& packet = datagram.data;
-		int32_t header = packet.read_long();
-		int32_t sequenceNumber = (header != 0) ? packet.read_long() : 0;
+		int32_t header = datagram.message.read_long();
+		int32_t sequenceNumber = (header != 0) ? datagram.message.read_long() : 0;
 		m_interface->print("Recieved packet with header 0x%x and sequence number #%d\n", header, sequenceNumber);
 
-		while (packet.bytes_left() > 0)
+		while (datagram.message.bytes_left() > 0)
 		{
-			int header = packet.read_byte();
+			int header = datagram.message.read_byte();
 
 			switch (ServerResponse (header))
 			{
@@ -150,7 +149,7 @@
 				break;
 
 			case SVRC_SALT:
-				m_salt = packet.read_string();
+				m_salt = datagram.message.read_string();
 				m_state = RCON_AUTHENTICATING;
 				send_password();
 				break;
@@ -162,7 +161,7 @@
 
 			case SVRC_MESSAGE:
 				{
-					String message = packet.read_string();
+					String message = datagram.message.read_string();
 					message.normalize();
 					m_interface->printText ("%s\n", message.chars());
 				}
@@ -170,19 +169,19 @@
 
 			case SVRC_LOGGEDIN:
 				m_interface->print ("Login successful!\n");
-				m_serverProtocol = packet.read_byte();
-				m_hostname = packet.read_string();
+				m_serverProtocol = datagram.message.read_byte();
+				m_hostname = datagram.message.read_string();
 				m_interface->setTitle (m_hostname);
 				m_state = RCON_CONNECTED;
 
-				for (int i = packet.read_byte(); i > 0; --i)
-					process_server_updates (packet);
+				for (int i = datagram.message.read_byte(); i > 0; --i)
+					process_server_updates (datagram.message);
 
 				m_interface->print ("Previous messages:\n");
 
-				for (int i = packet.read_byte(); i > 0; --i)
+				for (int i = datagram.message.read_byte(); i > 0; --i)
 				{
-					String message = packet.read_string();
+					String message = datagram.message.read_string();
 					message.normalize();
 					m_interface->printText ("--- %s\n", message.chars());
 				}
@@ -195,12 +194,12 @@
 				break;
 
 			case SVRC_UPDATE:
-				process_server_updates (packet);
+				process_server_updates (datagram.message);
 				break;
 
 			case SVRC_TOOMANYTABCOMPLETES:
 				{
-					unsigned int numCompletions = packet.read_short();
+					unsigned int numCompletions = datagram.message.read_short();
 					m_interface->print ("%d completions for '%s'.\n",
 						int (numCompletions), m_lastTabComplete.chars());
 				}
@@ -209,10 +208,10 @@
 			case SVRC_TABCOMPLETE:
 				{
 					StringList completes;
-					completes.resize(packet.read_byte());
+					completes.resize(datagram.message.read_byte());
 
 					for (String& completion : completes)
-						completion = packet.read_string();
+						completion = datagram.message.read_string();
 
 					if (completes.size() == 1)
 					{
@@ -233,22 +232,22 @@
 				break;
 
 			case SVRC_WATCHINGCVAR:
-				m_interface->print ("You are now watching %s\n", packet.read_string().chars());
-				m_interface->print ("Its value is: %s\n", packet.read_string().chars());
+				m_interface->print ("You are now watching %s\n", datagram.message.read_string().chars());
+				m_interface->print ("Its value is: %s\n", datagram.message.read_string().chars());
 				break;
 
 			case SVRC_ALREADYWATCHINGCVAR:
-				m_interface->print ("You are already watching %s\n", packet.read_string().chars());
+				m_interface->print ("You are already watching %s\n", datagram.message.read_string().chars());
 				break;
 
 			case SVRC_WATCHCVARNOTFOUND:
-				m_interface->print ("CVar %s not found\n", packet.read_string().chars());
+				m_interface->print ("CVar %s not found\n", datagram.message.read_string().chars());
 				break;
 
 			case SVRC_CVARCHANGED:
 				{
-					String name = packet.read_string();
-					String value = packet.read_string();
+					String name = datagram.message.read_string();
+					String value = datagram.message.read_string();
 					m_interface->print ("The value of CVar %s", name.chars());
 					m_interface->print (" is now %s\n", value.chars());
 
@@ -262,7 +261,7 @@
 				break;
 
 			case SVRC_YOUREDISCONNECTED:
-				m_interface->print ("You have been disconnected: %s\n", packet.read_string().chars());
+				m_interface->print ("You have been disconnected: %s\n", datagram.message.read_string().chars());
 				m_interface->disconnected();
 				break;
 			}
--- a/sources/network/rconsession.h	Wed Jul 20 17:57:35 2016 +0300
+++ b/sources/network/rconsession.h	Wed Jul 20 18:24:13 2016 +0300
@@ -138,4 +138,4 @@
 	class Interface* m_interface;
 };
 
-END_ZFC_NAMESPACE
+END_ZFC_NAMESPACE
\ No newline at end of file
--- a/sources/network/udpsocket.cpp	Wed Jul 20 17:57:35 2016 +0300
+++ b/sources/network/udpsocket.cpp	Wed Jul 20 18:24:13 2016 +0300
@@ -137,10 +137,11 @@
 
 	unsigned char decodedPacket[MAX_DATAGRAM_LENGTH];
 	int decodedLength = sizeof decodedPacket;
-	HUFFMAN_Decode (reinterpret_cast<unsigned char*>(HuffmanBuffer), decodedPacket, length, &decodedLength);
-	datagram.from.host = ntohl (claddr.sin_addr.s_addr);
-	datagram.from.port = ntohs (claddr.sin_port);
-	datagram.data = Bytestream (decodedPacket, decodedLength);
+	HUFFMAN_Decode (reinterpret_cast<unsigned char*> (HuffmanBuffer),
+		decodedPacket, length, &decodedLength);
+	datagram.address.host = ntohl (claddr.sin_addr.s_addr);
+	datagram.address.port = ntohs (claddr.sin_port);
+	datagram.message = Bytestream (decodedPacket, decodedLength);
 	return true;
 }
 
--- a/sources/network/udpsocket.h	Wed Jul 20 17:57:35 2016 +0300
+++ b/sources/network/udpsocket.h	Wed Jul 20 18:24:13 2016 +0300
@@ -38,8 +38,8 @@
 
 struct Datagram
 {
-	Bytestream data;
-	IPAddress from;
+	Bytestream message;
+	IPAddress address;
 };
 
 // -------------------------------------------------------------------------------------------------

mercurial