Kea 2.6.2
asiodns.dox File Reference

Classes

class  logic
 

Typedefs

using packet
 

Functions

logic IOSocket IOAsioSocket UDPSocket TCPSocket IOSocket is a wrapper class for a socket and is used by the authoritative server code It is an abstract base class, providing little more that the ability to hold the socket and to return the protocol in use Built on this is the IOAsioSocket, which adds the open, close, asyncSend and asyncReceive methods This is a template class, which takes as template argument the class of the object that will be used as the callback when the asynchronous operation completes This object can be of any type, but must include an operatormethod with the signature operator boost::system::error_code ec, size_t length the two arguments being the status of the completed I O operation and the number of bytes transferred in the case of the open method, the second argument will be zero Finally, the TCPSocket and UDPSocket classes provide the body of the asynchronous operations Fetch Sequence The fetch is implemented by the IOFetch class which takes as argument the protocol to use The sequence is REENTER render the question into a wire format query packet open if synchronous asyncSend (query) do
 
then both cases could be regarded as being with the completion being signalled by the posting of the completion event However UDP is the most common case and that would involve extra overhead So the open () returns a status indicating whether the operation completed asynchronously. If it did
 
 while (! complete(response)) close() server -> resume The open() method opens a socket for use. On TCP, it also makes a connection to the remote end. So under UDP the operation will complete immediately, but under TCP it could take a long time. One solution would befor the open operation to post an event to the I/O queue
 
 while (! complete(response)) close() server -> resume The open() method opens a socket for use. On TCP, it also makes a connection to the remote end. So under UDP the operation will complete immediately, but under TCP it could take a long time. One solution would befor the open operation to post an event to the I/O queue
 

Variables

it forwards queries to a single upstream resolver and passes the answers back to the client It is constructed with the address of the forward server Queries are initiated with the question to ask the forward a buffer into which to write the answer
 
when the call completes
 
then both cases could be regarded as being with the completion being signalled by the posting of the completion event However UDP is the most common case and that would involve extra overhead So the the code yields back to the coroutine
 
then both cases could be regarded as being with the completion being signalled by the posting of the completion event However UDP is the most common case and that would involve extra overhead So the the code yields back to the coroutine
 
then both cases could be regarded as being equivalent
 
it forwards queries to a single upstream resolver and passes the answers back to the client It is constructed with the address of the forward server Queries are initiated with the question to ask the forward a buffer into which to write the and a pointer to the coroutine to be resumed when the answer has arrived In simplified the DNSQuery routine DNSQuery is only implemented for UDP queries In future work it will be necessary to write code to fall back to TCP when circumstances require it Upstream Fetches
 
if not the yield is bypassed The asynchronous send is invoking the underlying ASIO function Note that the address port is supplied to both the the message is preceded by a count field as several reads may be required to read all the data The fetch loops until all the data is read Finally
 
it forwards queries to a single upstream resolver and passes the answers back to the client It is constructed with the address of the forward server Queries are initiated with the question to ask the forward a buffer into which to write the and a pointer to the coroutine to be resumed when the answer has arrived In simplified form
 
it forwards queries to a single upstream resolver and passes the answers back to the client It is constructed with the address of the forward server Queries are initiated with the question to ask the forward a buffer into which to write the and a pointer to the coroutine to be resumed when the answer has arrived In simplified form
 
it forwards queries to a single upstream resolver and passes the answers back to the client It is constructed with the address of the forward server Queries are initiated with the question to ask the forward a buffer into which to write the and a pointer to the coroutine to be resumed when the answer has arrived In simplified the DNSQuery routine is
 
it forwards queries to a single upstream resolver and passes the answers back to the client It is constructed with the address of the forward server Queries are initiated with the question to ask the forward a buffer into which to write the and a pointer to the coroutine to be resumed when the answer has arrived In simplified the DNSQuery routine is
 
it forwards queries to a single upstream resolver and passes the answers back to the client It is constructed with the address of the forward server Queries are initiated with the question to ask the forward a buffer into which to write the and a pointer to the coroutine to be resumed when the answer has arrived In simplified the DNSQuery routine is
 
it forwards queries to a single upstream resolver and passes the answers back to the client It is constructed with the address of the forward server Queries are initiated with the question to ask the forward a buffer into which to write the and a pointer to the coroutine to be resumed when the answer has arrived In simplified the DNSQuery routine is
 
when the call the UDPServer carries on at the same position As a result
 
it forwards queries to a single upstream resolver and passes the answers back to the client It is constructed with the address of the forward server Queries are initiated with the question to ask the forward server
 
if not the yield is bypassed The asynchronous send is straightforward
 
if not the yield is bypassed The asynchronous send is straightforward
 
 YIELD
 
 YIELD
 

Typedef Documentation

◆ packet

using packet

Definition at line 24 of file asiodns.dox.

Function Documentation

◆ asyncSend()

logic IOSocket IOAsioSocket UDPSocket TCPSocket IOSocket is a wrapper class for a socket and is used by the authoritative server code It is an abstract base class, providing little more that the ability to hold the socket and to return the protocol in use Built on this is the IOAsioSocket, which adds the open, close, asyncSend and asyncReceive methods This is a template class, which takes as template argument the class of the object that will be used as the callback when the asynchronous operation completes This object can be of any type, but must include an operatormethod with the signature operator boost::system::error_code ec, size_t length the two arguments being the status of the completed I O operation and the number of bytes transferred in the case of the open method, the second argument will be zero Finally, the TCPSocket and UDPSocket classes provide the body of the asynchronous operations Fetch Sequence The fetch is implemented by the IOFetch class which takes as argument the protocol to use The sequence is REENTER render the question into a wire format query packet open if synchronous asyncSend ( query )

Definition at line 81 of file asiodns.dox.

References asyncSend(), completes, Finally, if(), is, open(), server, and YIELD.

Referenced by asyncSend().

+ Here is the call graph for this function:

◆ open()

if not the yield is bypassed The asynchronous send is invoking the underlying ASIO function Note that the address port is supplied to both the open ( )

◆ while() [1/2]

while ( ! completeresponse) -> resume The open() method opens a socket for use. On TCP, it also makes a connection to the remote end. So under UDP the operation will complete immediately, but under TCP it could take a long time. One solution would befor the open operation to post an event to the I/O queue

◆ while() [2/2]

while ( ! completeresponse) -> resume The open() method opens a socket for use. On TCP, it also makes a connection to the remote end. So under UDP the operation will complete immediately, but under TCP it could take a long time. One solution would befor the open operation to post an event to the I/O queue

Variable Documentation

◆ answer

it forwards queries to a single upstream resolver and passes the answers back to the client It is constructed with the address of the forward server Queries are initiated with the question to ask the forward a buffer into which to write the answer

Definition at line 60 of file asiodns.dox.

Referenced by isc::dhcp::Dhcpv6Srv::appendDefaultOptions(), isc::dhcp::Dhcpv6Srv::appendRequestedOptions(), isc::dhcp::Dhcpv6Srv::appendRequestedVendorOptions(), isc::dhcp::Dhcpv6Srv::assignLeases(), isc::netconf::NetconfAgent::change(), isc::process::DControllerBase::checkConfigOnly(), isc::dhcp::Dhcpv6Srv::checkDynamicSubnetChange(), isc::process::DControllerBase::configFromFile(), isc::process::DControllerBase::configSetHandler(), isc::agent::CtrlAgentProcess::configure(), isc::d2::D2Process::configure(), isc::netconf::NetconfProcess::configure(), isc::dhcp::configureDhcp4Server(), isc::dhcp::configureDhcp6Server(), isc::dhcp::Dhcpv6Srv::copyClientOptions(), isc::config::createAnswer(), isc::dhcp::Dhcpv6Srv::createNameChangeRequests(), isc::config::HookedCommandMgr::delegateCommandToHookLibrary(), isc::netconf::NetconfAgent::done(), isc::agent::CtrlAgentCommandMgr::handleCommand(), isc::netconf::NetconfAgent::keaConfig(), isc::lease_cmds::LeaseCmdsImpl::lease6BulkApplyHandler(), main(), isc::agent::CtrlAgentCfgMgr::parse(), isc::d2::D2CfgMgr::parse(), isc::netconf::NetconfCfgMgr::parse(), isc::dhcp::Dhcpv6Srv::processClientFqdn(), isc::agent::CtrlAgentCommandMgr::processCommand(), isc::dhcp::ControlledDhcpv4Srv::processConfig(), isc::dhcp::ControlledDhcpv6Srv::processConfig(), isc::dhcp::processDhcp4Config(), isc::dhcp::processDhcp6Config(), isc::process::DCfgMgrBase::simpleParseConfig(), isc::ha::HAService::verifyAsyncResponse(), isc::process::DControllerBase::versionGetHandler(), and isc::netconf::NetconfAgent::yangConfig().

◆ completes

when the call completes

Definition at line 15 of file asiodns.dox.

Referenced by asyncSend().

◆ coroutine [1/2]

then both cases could be regarded as being with the completion being signalled by the posting of the completion event However UDP is the most common case and that would involve extra overhead So the the code yields back to the coroutine

Definition at line 135 of file asiodns.dox.

◆ coroutine [2/2]

then both cases could be regarded as being with the completion being signalled by the posting of the completion event However UDP is the most common case and that would involve extra overhead So the the code yields back to the coroutine

Definition at line 135 of file asiodns.dox.

◆ equivalent

then both cases could be regarded as being equivalent

Definition at line 132 of file asiodns.dox.

◆ Fetches

it forwards queries to a single upstream resolver and passes the answers back to the client It is constructed with the address of the forward server Queries are initiated with the question to ask the forward a buffer into which to write the and a pointer to the coroutine to be resumed when the answer has arrived In simplified the DNSQuery routine DNSQuery is only implemented for UDP queries In future work it will be necessary to write code to fall back to TCP when circumstances require it Upstream Fetches
Initial value:
================
Upstream fetches (queries by the resolver on behalf of a client) are made using
a slightly-modified version of the pattern described above.
Sockets
-------
First
int version()
returns Kea hooks version.

Definition at line 73 of file asiodns.dox.

◆ Finally

if not the yield is bypassed The asynchronous send is invoking the underlying ASIO function Note that the address port is supplied to both the the message is preceded by a count field as several reads may be required to read all the data The fetch loops until all the data is read Finally

Definition at line 150 of file asiodns.dox.

Referenced by asyncSend().

◆ form [1/2]

it forwards queries to a single upstream resolver and passes the answers back to the client It is constructed with the address of the forward server Queries are initiated with the question to ask the forward a buffer into which to write the and a pointer to the coroutine to be resumed when the answer has arrived In simplified form

Definition at line 62 of file asiodns.dox.

◆ form [2/2]

it forwards queries to a single upstream resolver and passes the answers back to the client It is constructed with the address of the forward server Queries are initiated with the question to ask the forward a buffer into which to write the and a pointer to the coroutine to be resumed when the answer has arrived In simplified form

Definition at line 62 of file asiodns.dox.

◆ is [1/4]

it forwards queries to a single upstream resolver and passes the answers back to the client It is constructed with the address of the forward server Queries are initiated with the question to ask the forward a buffer into which to write the and a pointer to the coroutine to be resumed when the answer has arrived In simplified the DNSQuery routine is

Definition at line 62 of file asiodns.dox.

◆ is [2/4]

it forwards queries to a single upstream resolver and passes the answers back to the client It is constructed with the address of the forward server Queries are initiated with the question to ask the forward a buffer into which to write the and a pointer to the coroutine to be resumed when the answer has arrived In simplified the DNSQuery routine is

Definition at line 62 of file asiodns.dox.

◆ is [3/4]

it forwards queries to a single upstream resolver and passes the answers back to the client It is constructed with the address of the forward server Queries are initiated with the question to ask the forward a buffer into which to write the and a pointer to the coroutine to be resumed when the answer has arrived In simplified the DNSQuery routine is

Definition at line 62 of file asiodns.dox.

◆ is [4/4]

it forwards queries to a single upstream resolver and passes the answers back to the client It is constructed with the address of the forward server Queries are initiated with the question to ask the forward a buffer into which to write the and a pointer to the coroutine to be resumed when the answer has arrived In simplified the DNSQuery routine is

◆ result

when the call the UDPServer carries on at the same position As a result

Definition at line 16 of file asiodns.dox.

Referenced by isc::db::PgSqlResult::PgSqlResult(), isc::dns::TSIGContext::TSIGContext(), isc::dhcp::Dhcpv4Srv::acceptDirectRequest(), isc::dhcp::MySqlLeaseMgr::addLease(), isc::dhcp::MySqlLeaseMgr::addLease(), isc::dhcp::PgSqlLeaseMgr::addLease(), isc::dhcp::PgSqlLeaseMgr::addLease(), isc::config::answerToText(), isc::process::DControllerBase::configSetHandler(), isc::process::DControllerBase::configTestHandler(), isc::dhcp::PgSqlLease4Exchange::convertFromDatabase(), isc::dhcp::PgSqlLease6Exchange::convertFromDatabase(), isc::data::copy(), isc::config::createAnswer(), isc::cryptolink::Hash::CryptoLink::createHash, isc::cryptolink::HMAC::CryptoLink::createHMAC, isc::dhcp::Dhcpv4Srv::d2ClientErrorHandler(), isc::dhcp::Dhcpv6Srv::d2ClientErrorHandler(), isc::yang::Translator::decode64(), isc::cryptolink::digest(), isc::util::encode::encodeUtf8(), isc::dhcp::TokenLowerCase::evaluate(), isc::dhcp::TokenUpperCase::evaluate(), isc::dhcp::CfgHostsList::externalize(), isc::process::CBControlBase< ConfigBackendMgrType >::fetchConfigElement(), isc::config::CmdResponseCreator::filterCommand(), isc::cryptolink::Hash::final(), isc::cryptolink::Hash::final(), isc::cryptolink::HashImpl::final(), isc::cryptolink::HashImpl::final(), isc::util::formatDhcpSpace(), isc::data::Element::fromJSON(), isc::dhcp::LibDHCP::fuseOptions4(), isc::dhcp::MySqlHostDataSource::get4(), isc::dhcp::PgSqlHostDataSource::get4(), isc::dhcp::MySqlHostDataSource::get6(), isc::dhcp::MySqlHostDataSource::get6(), isc::dhcp::PgSqlHostDataSource::get6(), isc::dhcp::PgSqlHostDataSource::get6(), isc::dhcp::MySqlHostDataSource::getAll(), isc::dhcp::PgSqlHostDataSource::getAll(), isc::dhcp::MySqlHostDataSource::getAll4(), isc::dhcp::MySqlHostDataSource::getAll4(), isc::dhcp::PgSqlHostDataSource::getAll4(), isc::dhcp::PgSqlHostDataSource::getAll4(), isc::dhcp::MySqlHostDataSource::getAll6(), isc::dhcp::PgSqlHostDataSource::getAll6(), isc::dhcp::MySqlHostDataSource::getAllbyHostname(), isc::dhcp::PgSqlHostDataSource::getAllbyHostname(), isc::dhcp::MySqlHostDataSource::getAllbyHostname4(), isc::dhcp::PgSqlHostDataSource::getAllbyHostname4(), isc::dhcp::MySqlHostDataSource::getAllbyHostname6(), isc::dhcp::PgSqlHostDataSource::getAllbyHostname6(), isc::yang::TranslatorClass::getClassKea(), isc::dhcp::MySqlLeaseExchange::getColumnsInError(), isc::yang::TranslatorConfig::getConfigControlKea(), isc::yang::TranslatorConfig::getConfigIetf6(), isc::yang::TranslatorConfig::getConfigKea4(), isc::yang::TranslatorConfig::getConfigKea6(), isc::yang::Adaptor::getContext(), isc::yang::TranslatorControlSocket::getControlSocketKea(), isc::yang::TranslatorDatabase::getDatabaseKea(), isc::yang::TranslatorConfig::getDdnsKea(), isc::yang::TranslatorConfig::getExpiredKea(), isc::dhcp::MySqlHostDataSourceImpl::getHost(), isc::dhcp::PgSqlHostDataSourceImpl::getHost(), isc::dhcp::MySqlHostDataSourceImpl::getHostCollection(), isc::dhcp::PgSqlHostDataSourceImpl::getHostCollection(), isc::yang::TranslatorHost::getHostKea(), isc::yang::TranslatorConfig::getInterfacesKea(), isc::yang::Translator::getItem(), isc::dhcp::MySqlLeaseMgr::getLease4(), isc::dhcp::MySqlLeaseMgr::getLease4(), isc::dhcp::MySqlLeaseMgr::getLease4(), isc::dhcp::MySqlLeaseMgr::getLease4(), isc::dhcp::MySqlLeaseMgr::getLease4(), isc::dhcp::PgSqlLeaseMgr::getLease4(), isc::dhcp::PgSqlLeaseMgr::getLease4(), isc::dhcp::PgSqlLeaseMgr::getLease4(), isc::dhcp::PgSqlLeaseMgr::getLease4(), isc::dhcp::PgSqlLeaseMgr::getLease4(), isc::dhcp::MySqlLeaseMgr::getLease6(), isc::dhcp::PgSqlLeaseMgr::getLease6(), isc::dhcp::MySqlLease6Exchange::getLeaseData(), isc::dhcp::MySqlLeaseMgr::getLeases4(), isc::dhcp::MySqlLeaseMgr::getLeases4(), isc::dhcp::MySqlLeaseMgr::getLeases4(), isc::dhcp::MySqlLeaseMgr::getLeases4(), isc::dhcp::PgSqlLeaseMgr::getLeases4(), isc::dhcp::PgSqlLeaseMgr::getLeases4(), isc::dhcp::PgSqlLeaseMgr::getLeases4(), isc::dhcp::PgSqlLeaseMgr::getLeases4(), isc::dhcp::MySqlLeaseMgr::getLeases4ByRelayId(), isc::dhcp::PgSqlLeaseMgr::getLeases4ByRelayId(), isc::dhcp::MySqlLeaseMgr::getLeases4ByRemoteId(), isc::dhcp::PgSqlLeaseMgr::getLeases4ByRemoteId(), isc::dhcp::MySqlLeaseMgr::getLeases6(), isc::dhcp::MySqlLeaseMgr::getLeases6(), isc::dhcp::MySqlLeaseMgr::getLeases6(), isc::dhcp::MySqlLeaseMgr::getLeases6(), isc::dhcp::MySqlLeaseMgr::getLeases6(), isc::dhcp::MySqlLeaseMgr::getLeases6(), isc::dhcp::MySqlLeaseMgr::getLeases6(), isc::dhcp::MySqlLeaseMgr::getLeases6(), isc::dhcp::PgSqlLeaseMgr::getLeases6(), isc::dhcp::PgSqlLeaseMgr::getLeases6(), isc::dhcp::PgSqlLeaseMgr::getLeases6(), isc::dhcp::PgSqlLeaseMgr::getLeases6(), isc::dhcp::PgSqlLeaseMgr::getLeases6(), isc::dhcp::PgSqlLeaseMgr::getLeases6(), isc::dhcp::PgSqlLeaseMgr::getLeases6(), isc::dhcp::PgSqlLeaseMgr::getLeases6(), isc::dhcp::MySqlLeaseMgr::getLeases6ByRelayId(), isc::dhcp::PgSqlLeaseMgr::getLeases6ByRelayId(), isc::dhcp::MySqlLeaseMgr::getLeases6ByRemoteId(), isc::dhcp::PgSqlLeaseMgr::getLeases6ByRemoteId(), isc::yang::Translator::getList(), isc::yang::TranslatorLogger::getLoggerKea(), isc::yang::TranslatorOptionData::getOptionDataKea(), isc::yang::TranslatorOptionDef::getOptionDefKea(), isc::yang::TranslatorLogger::getOutputOption(), isc::dhcp::MySqlHostDataSource::getPage4(), isc::dhcp::MySqlHostDataSource::getPage4(), isc::dhcp::PgSqlHostDataSource::getPage4(), isc::dhcp::PgSqlHostDataSource::getPage4(), isc::dhcp::MySqlHostDataSource::getPage6(), isc::dhcp::MySqlHostDataSource::getPage6(), isc::dhcp::PgSqlHostDataSource::getPage6(), isc::dhcp::PgSqlHostDataSource::getPage6(), isc::yang::TranslatorPdPool::getPdPoolIetf6(), isc::yang::TranslatorPdPool::getPdPoolKea(), isc::yang::TranslatorPool::getPoolIetf6(), isc::yang::TranslatorPool::getPoolKea(), isc::yang::TranslatorConfig::getServerKeaDhcp4(), isc::yang::TranslatorConfig::getServerKeaDhcp6(), isc::yang::TranslatorConfig::getServerKeaDhcpCommon(), isc::yang::TranslatorSharedNetwork::getSharedNetworkKea(), isc::d2::DNSClientImpl::getStatus(), isc::yang::TranslatorSubnet::getSubnetIetf6(), isc::yang::TranslatorSubnet::getSubnetKea(), isc::dhcp::ControlledDhcpv4Srv::init(), isc::dhcp::ControlledDhcpv6Srv::init(), isc::yang::Translator::initializeDeserializer(), isc::yang::Translator::initializeSerializer(), isc::dhcp::D2ClientMgr::invokeClientErrorHandler(), isc::dhcp_ddns::NameChangeListener::invokeRecvHandler(), isc::dhcp_ddns::NameChangeSender::invokeSendHandler(), isc::dhcp_ddns::NameChangeSender::ioReady(), isc::util::WatchSocket::isReady(), isc::lease_cmds::LeaseCmdsImpl::lease6BulkApplyHandler(), isc::dhcp::ControlledDhcpv4Srv::loadConfigFile(), isc::dhcp::ControlledDhcpv6Srv::loadConfigFile(), isc::dns::MasterLoader::loadIncremental(), isc::test::moveComments(), isc::test::moveComments(), isc::db::MySqlConnection::openDatabase(), isc::asiodns::IOFetch::Callback::operator()(), isc::d2::D2QueueMgr::operator()(), isc::d2::DNSClientImpl::operator()(), isc::dhcp::D2ClientMgr::operator()(), isc::dhcp_ddns::NameChangeListener::RequestReceiveHandler::operator()(), isc::dhcp_ddns::NameChangeSender::RequestSendHandler::operator()(), isc::dns::Serial::operator<(), isc::util::unittests::parentReadState(), isc::dhcp::DHCPQueueControlParser::parse(), isc::netconf::ControlSocketConfigParser::parse(), isc::netconf::ServerConfigParser::parse(), isc::config::parseAnswer(), isc::config::parseAnswerText(), isc::hooks::LibraryManagerCollection::prepareUnloadLibraries(), isc::hooks::LibraryManager::prepareUnloadLibrary(), isc::util::unittests::process_ok(), isc::util::readUint(), isc::dhcp::PktFilterInet6::receive(), isc::dhcp::PktFilterInet::receive(), isc::dhcp::PktFilterLPF::receive(), isc::dhcp::IfaceMgr::receive4Direct(), isc::dhcp::IfaceMgr::receive4Indirect(), isc::dhcp::IfaceMgr::receive6Direct(), isc::dhcp::IfaceMgr::receive6Indirect(), isc::dhcp_ddns::NameChangeUDPListener::receiveCompletionHandler(), isc::perfdhcp::ExchangeStats::receivedLeases(), isc::process::Daemon::redactConfig(), isc::process::DCfgMgrBase::redactConfig(), isc::hooks::ServerHooks::registerHook(), isc::data::removeIdentical(), isc::util::str::StringSanitizerImpl::scrub(), isc::dhcp::PktFilterBPF::send(), isc::dhcp::PktFilterInet6::send(), isc::dhcp::PktFilterInet::send(), isc::dhcp::PktFilterLPF::send(), isc::dhcp_ddns::NameChangeUDPSender::sendCompletionHandler(), isc::cryptolink::HMAC::sign(), isc::cryptolink::HMAC::sign(), isc::cryptolink::HMACImpl::sign(), isc::cryptolink::HMACImpl::sign(), isc::cryptolink::signHMAC(), isc::dhcp::LibDHCP::splitOptions4(), isc::stat_cmds::LeaseStatCmdsImpl::statLease4GetHandler(), isc::stat_cmds::LeaseStatCmdsImpl::statLease6GetHandler(), isc::asiodns::IOFetch::stop(), isc::dns::rdata::generic::detail::stringToCharString(), isc::dns::rdata::generic::detail::stringToCharStringData(), isc::asiolink::IOAddress::subtract(), isc::agent::CtrlAgentCfgContext::toElement(), isc::d2::D2CfgContext::toElement(), isc::d2::DdnsDomain::toElement(), isc::d2::DdnsDomainListMgr::toElement(), isc::d2::DnsServerInfo::toElement(), isc::d2::TSIGKeyInfo::toElement(), isc::data::UserContext::toElement(), isc::db::BackendSelector::toElement(), isc::db::DatabaseConnection::toElement(), isc::db::Server::toElement(), isc::dhcp::Cfg4o6::toElement(), isc::dhcp::CfgDUID::toElement(), isc::dhcp::CfgExpiration::toElement(), isc::dhcp::CfgGlobals::toElement(), isc::dhcp::CfgHostDbAccess::toElement(), isc::dhcp::CfgHostOperations::toElement(), isc::dhcp::CfgIface::toElement(), isc::dhcp::CfgMACSource::toElement(), isc::dhcp::CfgRSOO::toElement(), isc::dhcp::CfgSubnets4::toElement(), isc::dhcp::CfgSubnets6::toElement(), isc::dhcp::ClientClassDef::toElement(), isc::dhcp::ClientClassDictionary::toElement(), isc::dhcp::ClientClasses::toElement(), isc::dhcp::D2ClientConfig::toElement(), isc::dhcp::NetworkStateImpl::toElement(), isc::dhcp::SrvConfig::toElement(), isc::dhcp::TemplateClientClassDef::toElement(), isc::hooks::HooksConfig::toElement(), isc::http::BasicHttpAuthClient::toElement(), isc::http::BasicHttpAuthConfig::toElement(), isc::netconf::CfgControlSocket::toElement(), isc::netconf::CfgServer::toElement(), isc::netconf::NetconfConfig::toElement(), isc::process::ConfigBase::toElement(), isc::process::ConfigControlInfo::toElement(), isc::process::LoggingDestination::toElement(), isc::process::LoggingInfo::toElement(), isc::dhcp::CfgOption::toElementWithMetadata(), isc::dhcp::CfgOptionDef::toElementWithMetadata(), isc::db::MySqlConnection::toKeaAdminParameters(), isc::db::PgSqlConnection::toKeaAdminParameters(), isc::util::str::tokens(), isc::dns::LabelSequence::toRawText(), isc::dhcp::TrackingLeaseMgr::tryLock(), isc::hooks::LibraryManager::unloadLibrary(), and isc::ha::HAService::verifyAsyncResponse().

◆ server

◆ straightforward [1/2]

if not the yield is bypassed The asynchronous send is straightforward

Definition at line 138 of file asiodns.dox.

◆ straightforward [2/2]

if not the yield is bypassed The asynchronous send is straightforward

Definition at line 138 of file asiodns.dox.

◆ YIELD [1/2]

YIELD

Definition at line 122 of file asiodns.dox.

◆ YIELD [2/2]

YIELD

Definition at line 122 of file asiodns.dox.

Referenced by asyncSend().