X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Fnet%2Fresolve.h;h=65d1db89977425ff6fc7079b83aef60ba74d680b;hb=3ab65d35cfd696002e09768a38f98e6a2e1ade81;hp=21737ff4794bb0def530bd364cae00a2291ec1c2;hpb=fa637ffb18421300e401a782d28dd729a3960ac4;p=libs%2Fnet.git diff --git a/source/net/resolve.h b/source/net/resolve.h index 21737ff..65d1db8 100644 --- a/source/net/resolve.h +++ b/source/net/resolve.h @@ -1,6 +1,7 @@ #ifndef MSP_NET_RESOLVE_H_ #define MSP_NET_RESOLVE_H_ +#include #include #include #include @@ -35,14 +36,12 @@ class Resolver private: struct Task { - unsigned tag; + unsigned tag = 0; std::string host; std::string serv; - Family family; - SockAddr *addr; - std::runtime_error *error; - - Task(); + Family family = UNSPEC; + SockAddr *addr = nullptr; + std::runtime_error *error = nullptr; bool is_complete() const { return addr || error; } }; @@ -50,11 +49,11 @@ private: class WorkerThread: public Thread { private: - std::list queue; + std::deque queue; Mutex queue_mutex; Semaphore sem; IO::Pipe notify_pipe; - bool done; + bool done = false; public: WorkerThread(); @@ -67,7 +66,7 @@ private: IO::Pipe &get_notify_pipe() { return notify_pipe; } private: - virtual void main(); + void main() override; }; public: @@ -75,9 +74,9 @@ public: sigc::signal signal_resolve_failed; private: - IO::EventDispatcher *event_disp; + IO::EventDispatcher *event_disp = nullptr; WorkerThread thread; - unsigned next_tag; + unsigned next_tag = 1; public: Resolver();