82 void readEvent() override ;
87 void sendMxQuestion(
std::
size_t , const
std::
string & ) ;
88 void sendHostQuestion(
std::
size_t , const
std::
string & ) ;
89 void fail( const
std::
string & ) ;
90 void succeed( const
std::
string & ) ;
91 void dropReadHandlers() ;
92 GNet::DatagramSocket & socket(
std::
size_t ) ;
93 void process( const
char * ,
std::
size_t ) ;
94 void disable(
std::
size_t , const
std::
string & ) ;
97 GNet::EventState m_es ;
99 GStore::MessageId m_message_id ;
100 std::
string m_question ;
101 unsigned int m_port {0U} ;
102 std::string m_error ;
103 std::size_t m_ns_index ;
104 std::size_t m_ns_failures ;
105 std::vector<GNet::Address> m_nameservers ;
107 std::unique_ptr<GNet::DatagramSocket> m_socket4 ;
108 std::unique_ptr<GNet::DatagramSocket> m_socket6 ;
MxLookup(GNet::EventState, Config={})
Constructor.
G::Slot::Signal< GStore::MessageId, std::string, std::string > & doneSignal() noexcept
Returns a reference to the completion signal.
static bool enabled()
Returns true if implemented.
void start(const GStore::MessageId &, const std::string &question_domain, unsigned int port)
Starts the lookup.
void cancel()
Cancels the lookup so the doneSignal() is not emitted.
A base class for classes that have a file descriptor and handle asynchronous events from the event lo...
A lightweight object containing an ExceptionHandler pointer, optional ExceptionSource pointer and opt...
A timer class template in which the timeout is delivered to the specified method.
A somewhat opaque identifer for a GStore::MessageStore message id.
An interval between two G::SystemTime values or two G::TimerTime values.
A configuration structure for GFilters::MxLookup.