10 void submit(const DNSName& domain, int rcode, const ComboAddress& remote);
11 void submit(std::deque<std::string>& labels, const std::string& domain, int rcode, const ComboAddress& remote);
17 Stat() : queries(0), noerrors(0), nxdomains(0), servfails(0), drops(0){}
18 int queries, noerrors, nxdomains, servfails, drops;
20 Stat& operator+=(const Stat& rhs) {
22 noerrors+=rhs.noerrors;
23 nxdomains+=rhs.nxdomains;
24 servfails+=rhs.servfails;
27 for(const remotes_t::value_type& rem : rhs.remotes) {
28 remotes[rem.first]+=rem.second;
32 typedef std::map<ComboAddress,int,ComboAddress::addressOnlyLessThan> remotes_t;
37 Stat print(int depth=0, Stat newstat=Stat(), bool silent=false) const;
38 typedef boost::function<void(const StatNode*, const Stat& selfstat, const Stat& childstat)> visitor_t;
39 void visit(visitor_t visitor, Stat& newstat, int depth=0) const;
40 typedef std::map<std::string,StatNode, CIStringCompare> children_t;