{
DNSName d_qname;
uint16_t d_qtype;
+ // Deadline is not part of index and <
time_t d_deadline;
- bool d_refreshMode; // Whether to run this task in regular mode (false) or in the mode that refreshes almost expired tasks
+ // Whether to run this task in regular mode (false) or in the mode that refreshes almost expired tasks
+ bool d_refreshMode;
// Use a function pointer as comparing std::functions is a nuisance
- void (*d_func)(const struct timeval& now, bool logErrors, const ResolveTask& task);
+ using TaskFunction = void (*)(const struct timeval& now, bool logErrors, const ResolveTask& task);
+ TaskFunction d_func;
+ // IP used by DoT probe tasks
ComboAddress d_ip;
bool operator<(const ResolveTask& a) const
member<ResolveTask, DNSName, &ResolveTask::d_qname>,
member<ResolveTask, uint16_t, &ResolveTask::d_qtype>,
member<ResolveTask, bool, &ResolveTask::d_refreshMode>,
- member<ResolveTask, void (*)(const struct timeval& now, bool logErrors, const ResolveTask& task), &ResolveTask::d_func>,
+ member<ResolveTask, ResolveTask::TaskFunction, &ResolveTask::d_func>,
member<ResolveTask, ComboAddress, &ResolveTask::d_ip>>>,
sequenced<tag<SequencedTag>>>>
queue_t;