Explorar o código

added totalSentData, totalSentPackets, totalReceivedData, totalReceivedPackets

eihrul %!s(int64=15) %!d(string=hai) anos
pai
achega
72525fbca1
Modificáronse 4 ficheiros con 19 adicións e 1 borrados
  1. 3 0
      ChangeLog
  2. 5 0
      host.c
  3. 4 0
      include/enet/enet.h
  4. 7 1
      protocol.c

+ 3 - 0
ChangeLog

@@ -1,5 +1,8 @@
 ENet 1.2.2 (May 13, 2010):
 
+* added totalSentData, totalSentPackets, totalReceivedData, and
+totalReceivedPackets counters inside ENetHost for getting usage
+statistics
 * added enet_host_channel_limit() for limiting the maximum number of
 channels allowed by connected peers
 * now uses dispatch queues for event dispatch rather than potentially

+ 5 - 0
host.c

@@ -79,6 +79,11 @@ enet_host_create (const ENetAddress * address, size_t peerCount, enet_uint32 inc
     host -> receivedAddress.port = 0;
     host -> receivedDataLength = 0;
      
+    host -> totalSentData = 0;
+    host -> totalSentPackets = 0;
+    host -> totalReceivedData = 0;
+    host -> totalReceivedPackets = 0;
+
     enet_list_clear (& host -> dispatchQueue);
 
     for (currentPeer = host -> peers;

+ 4 - 0
include/enet/enet.h

@@ -322,6 +322,10 @@ typedef struct _ENetHost
    ENetAddress        receivedAddress;
    enet_uint8         receivedData [ENET_PROTOCOL_MAXIMUM_MTU];
    size_t             receivedDataLength;
+   enet_uint32        totalSentData;               /**< total data sent, user should reset to 0 as needed to prevent overflow */
+   enet_uint32        totalSentPackets;            /**< total UDP packets sent, user should reset to 0 as needed to prevent overflow */
+   enet_uint32        totalReceivedData;           /**< total data received, user should reset to 0 as needed to prevent overflow */
+   enet_uint32        totalReceivedPackets;        /**< total UDP packets received, user should reset to 0 as needed to prevent overflow */
 } ENetHost;
 
 /**

+ 7 - 1
protocol.c

@@ -1005,7 +1005,10 @@ enet_protocol_receive_incoming_commands (ENetHost * host, ENetEvent * event)
          return 0;
 
        host -> receivedDataLength = receivedLength;
-       
+      
+       host -> totalReceivedData += receivedLength;
+       host -> totalReceivedPackets ++;
+ 
        switch (enet_protocol_handle_incoming_commands (host, event))
        {
        case 1:
@@ -1424,6 +1427,9 @@ enet_protocol_send_outgoing_commands (ENetHost * host, ENetEvent * event, int ch
 
         if (sentLength < 0)
           return -1;
+
+        host -> totalSentData += sentLength;
+        host -> totalSentPackets ++;
     }
    
     return 0;