X-Git-Url: https://git.stg.codes/stg.git/blobdiff_plain/641204dfbdb9fc870cdd2e7f9e3169a44693e7bf..5622b5d1aa70abbdb3cc4a03f085f560eab06dbe:/include/user_stat.h

diff --git a/include/user_stat.h b/include/user_stat.h
index eeb73df6..42d436fd 100644
--- a/include/user_stat.h
+++ b/include/user_stat.h
@@ -28,6 +28,7 @@
 #define USER_STAT_H
 
 #include <ctime>
+#include <map>
 
 #include "os_int.h"
 #include "resetable.h"
@@ -73,6 +74,22 @@ struct IP_DIR_PAIR
         return false;
         }
     //------------------------
+    bool operator!=(const IP_DIR_PAIR & rvalue) const
+        {
+        if (ip != rvalue.ip)
+            return true;
+
+        #ifdef TRAFF_STAT_WITH_PORTS
+        if (port != rvalue.port)
+            return true;
+        #endif
+
+        if (dir != rvalue.dir)
+            return true;
+
+        return false;
+        }
+    //------------------------
     uint32_t        ip;
     int             dir;
     #ifdef TRAFF_STAT_WITH_PORTS
@@ -118,6 +135,8 @@ struct USER_STAT
     time_t      lastActivityTime;
 };
 //-----------------------------------------------------------------------------
+typedef std::map<IP_DIR_PAIR, STAT_NODE> TRAFF_STAT;
+//-----------------------------------------------------------------------------
 struct USER_STAT_RES
 {
     USER_STAT_RES()
@@ -143,7 +162,7 @@ struct USER_STAT_RES
         down = us.down;
         return * this;
     };
-    operator USER_STAT()
+    operator USER_STAT() const
     {
         USER_STAT us;
         us.cash             = cash;
@@ -168,6 +187,3 @@ struct USER_STAT_RES
 };
 //-----------------------------------------------------------------------------
 #endif
-
-
-