- Net::StreamSocket *sock;
- IO::EventDispatcher *event_disp;
- std::string user_agent;
- Request *request;
- Response *response;
+ struct ResolveListener: public sigc::trackable
+ {
+ Client &client;
+
+ ResolveListener(Client &);
+
+ void address_resolved(unsigned, const Net::SockAddr &);
+ void resolve_failed(unsigned, const std::exception &);
+ };
+
+ Net::StreamSocket *sock = nullptr;
+ IO::EventDispatcher *event_disp = nullptr;
+ Net::Resolver *resolver = nullptr;
+ ResolveListener *resolve_listener = nullptr;
+ unsigned resolve_tag = 0;
+ std::string user_agent = "libmspnet/1.0";
+ Request *request = nullptr;
+ Response *response = nullptr;