+ // overridden to allow custom time
+ BanCacheHit(InspIRCd *Instance, const std::string &ip, const std::string &type, const std::string &reason, time_t seconds)
+ {
+ ServerInstance = Instance;
+ this->Type = type;
+ this->Reason = reason;
+ this->IP = ip;
+ this->Expiry = time(NULL) + seconds;
+ }
+};
+
+/* A container of ban cache items.
+ * must be defined after class BanCacheHit.
+ */
+#ifndef WIN32
+typedef nspace::hash_map<std::string, BanCacheHit*, nspace::hash<std::string> > BanCacheHash;
+#else
+typedef nspace::hash_map<std::string, BanCacheHit*, nspace::hash_compare<std::string, std::less<std::string> > > BanCacheHash;
+#endif
+
+/** A manager for ban cache, which allocates and deallocates and checks cached bans.
+ */