Changeset 1634
- Timestamp:
- 06/13/10 14:46:34 (3 years ago)
- Location:
- trunk/pdns/pdns
- Files:
-
- 2 modified
-
dnsbulktest.cc (modified) (5 diffs)
-
inflighter.cc (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
trunk/pdns/pdns/dnsbulktest.cc
r1633 r1634 1 1 #include "inflighter.cc" 2 #include <deque> 2 3 #include "namespaces.hh" 3 4 #include "dnsparser.hh" … … 21 22 typedef DNSResult Answer; // ip 22 23 int d_socket; 23 uint16_t d_id;24 deque<uint16_t> d_idqueue; 24 25 25 26 … … 34 35 d_oks = d_errors = d_nodatas = d_nxdomains = d_unknowns = 0; 35 36 d_receiveds = d_receiveerrors = 0; 37 for(unsigned int id =0 ; id < numeric_limits<uint16_t>::max(); ++id) 38 d_idqueue.push_back(id); 36 39 } 37 40 … … 50 53 DNSPacketWriter pw(packet, domain, QType::A); 51 54 52 pw.getHeader()->id = d_id++; 55 pw.getHeader()->id = d_idqueue.front(); 56 d_idqueue.pop_front(); 53 57 pw.getHeader()->rd = 1; 54 58 pw.getHeader()->qr = 0; … … 94 98 } 95 99 return 0; 100 } 101 102 void deliverTimeout(const Identifier& id) 103 { 104 d_idqueue.push_back(id); 96 105 } 97 106 -
trunk/pdns/pdns/inflighter.cc
r1632 r1634 130 130 for(typename waiters_by_ttd_index_t::iterator valiter = waiters_index.begin(); valiter != waiters_index.end(); ) { 131 131 if(valiter->ttd.tv_sec < now.tv_sec || (valiter->ttd.tv_sec == now.tv_sec && valiter->ttd.tv_usec < now.tv_usec)) { 132 d_sr.deliverTimeout(valiter->id); // so backend can release id 132 133 waiters_index.erase(valiter++); 133 134 // cerr<<"Have timeout for id="<< valiter->id <<endl;