81 void readEvent() override ;
86 void sendMxQuestion(
std::
size_t , const
std::
string & ) ;
87 void sendHostQuestion(
std::
size_t , const
std::
string & ) ;
88 void fail( const
std::
string & ) ;
89 void succeed( const
std::
string & ) ;
90 void dropReadHandlers() ;
91 GNet::DatagramSocket & socket(
std::
size_t ) ;
92 void process( const
char * ,
std::
size_t ) ;
93 void disable(
std::
size_t , const
std::
string & ) ;
96 GNet::ExceptionSink m_es ;
98 GStore::MessageId m_message_id ;
99 std::
string m_question ;
100 unsigned int m_port {0U} ;
101 std::string m_error ;
102 std::size_t m_ns_index ;
103 std::size_t m_ns_failures ;
104 std::vector<GNet::Address> m_nameservers ;
106 std::unique_ptr<GNet::DatagramSocket> m_socket4 ;
107 std::unique_ptr<GNet::DatagramSocket> m_socket6 ;
MxLookup(GNet::ExceptionSink, 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 tuple containing an ExceptionHandler interface pointer and a bound 'exception source' pointer.
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.