]> git.stg.codes - stg.git/blobdiff - projects/stargazer/traffcounter_impl.h
Fixed appending pairs in rlm_stg.
[stg.git] / projects / stargazer / traffcounter_impl.h
index 7afada49bfd494d0adabdafa66e354c4685e76b6..12439313e9a05a9cdb10afb817da7777f303776f 100644 (file)
@@ -186,8 +186,6 @@ public:
     TRAFFCOUNTER_IMPL(USERS_IMPL * users, const std::string & rulesFileName);
     ~TRAFFCOUNTER_IMPL();
 
     TRAFFCOUNTER_IMPL(USERS_IMPL * users, const std::string & rulesFileName);
     ~TRAFFCOUNTER_IMPL();
 
-    void        SetRulesFile(const std::string & rulesFileName);
-
     int         Reload();
     int         Start();
     int         Stop();
     int         Reload();
     int         Start();
     int         Stop();
@@ -198,10 +196,12 @@ public:
     size_t      RulesCount() const { return rules.size(); }
 
 private:
     size_t      RulesCount() const { return rules.size(); }
 
 private:
+    TRAFFCOUNTER_IMPL(const TRAFFCOUNTER_IMPL & rvalue);
+    TRAFFCOUNTER_IMPL & operator=(const TRAFFCOUNTER_IMPL & rvalue);
+
     bool        ParseAddress(const char * ta, RULE * rule) const;
     uint32_t    CalcMask(uint32_t msk) const;
     void        FreeRules();
     bool        ParseAddress(const char * ta, RULE * rule) const;
     uint32_t    CalcMask(uint32_t msk) const;
     void        FreeRules();
-    void        PrintRule(RULE rule) const;
     bool        ReadRules(bool test = false);
 
     static void * Run(void * data);
     bool        ReadRules(bool test = false);
 
     static void * Run(void * data);
@@ -218,15 +218,18 @@ private:
     void        UnSetUserNotifiers(USER_IMPL * user);
 
     typedef std::list<RULE>::iterator rule_iter;
     void        UnSetUserNotifiers(USER_IMPL * user);
 
     typedef std::list<RULE>::iterator rule_iter;
-    typedef std::map<RAW_PACKET, PACKET_EXTRA_DATA>::iterator pp_iter;
-    typedef std::multimap<uint32_t, pp_iter>::iterator ip2p_iter;
-    typedef std::multimap<uint32_t, pp_iter>::const_iterator ip2p_citer;
 
     std::list<RULE>          rules;
 
 
     std::list<RULE>          rules;
 
-    std::map<RAW_PACKET, PACKET_EXTRA_DATA> packets; // Packets tree
+    typedef std::map<RAW_PACKET, PACKET_EXTRA_DATA> Packets;
+    typedef Packets::iterator pp_iter;
+    typedef std::multimap<uint32_t, pp_iter> Index;
+    typedef Index::iterator ip2p_iter;
+    typedef Index::const_iterator ip2p_citer;
+
+    Packets packets; // Packets tree
 
 
-    std::multimap<uint32_t, pp_iter> ip2packets; // IP-to-Packet index
+    Index ip2packets; // IP-to-Packet index
 
     std::string              dirName[DIR_NUM + 1];
 
 
     std::string              dirName[DIR_NUM + 1];
 
@@ -235,6 +238,7 @@ private:
 
     std::string              monitorDir;
     bool                     monitoring;
 
     std::string              monitorDir;
     bool                     monitoring;
+    time_t                   touchTimeP;
 
     USERS_IMPL *             users;
 
 
     USERS_IMPL *             users;