#include "dnsparser.hh"
#include "dns_random.hh"
+class DNSRule
+{
+public:
+ virtual ~DNSRule()
+ {
+ }
+ virtual bool matches(const DNSQuestion* dq) const = 0;
+ virtual string toString() const = 0;
+ mutable stat_t d_matches{0};
+};
+
+
class MaxQPSIPRule : public DNSRule
{
public:
#include "dnsdist-prometheus.hh"
#include "dnsdist-rings.hh"
#include "dnsdist-rule-chains.hh"
+#include "dnsdist-rules.hh"
#include "dnsdist-web.hh"
#include "dolog.hh"
#include "gettime.hh"
#include "dnsdist-proxy-protocol.hh"
#include "dnsdist-random.hh"
#include "dnsdist-rings.hh"
+#include "dnsdist-rules.hh"
#include "dnsdist-secpoll.hh"
#include "dnsdist-self-answers.hh"
#include "dnsdist-snmp.hh"
class DNSDistPacketCache;
-class DNSRule
-{
-public:
- virtual ~DNSRule()
- {
- }
- virtual bool matches(const DNSQuestion* dq) const = 0;
- virtual string toString() const = 0;
- mutable stat_t d_matches{0};
-};
-
struct ServerPool
{
ServerPool() :