#pragma once #include class domain_info; class nslookup_callback; class dns_store : public acl::rpc_request { public: dns_store(std::vector* domain_list, nslookup_callback& callback); protected: private: ~dns_store(); // 基类虚函数:子线程处理函数 virtual void rpc_run(); // 基类虚函数:主线程处理过程,收到子线程任务完成的消息 virtual void rpc_onover(); private: bool ok_; std::vector* domain_list_; nslookup_callback& callback_; acl::string dbpath_; bool create_tbl(acl::db_handle& db); void insert_tbl(acl::db_handle& db); void insert_one(acl::db_handle& db, const domain_info* info); };