12 #include <boost/shared_array.hpp>
13 #include <boost/shared_ptr.hpp>
14 #include <boost/date_time/posix_time/posix_time_types.hpp>
19 #ifdef HAVE_BOOST_ASIO_COROUTINE_HPP
20 #include <boost/asio/coroutine.hpp>
22 #include <ext/coroutine/coroutine.hpp>
25 #include <boost/system/error_code.hpp>
45 class IOFetch :
public boost::asio::coroutine {
205 void operator()(boost::system::error_code ec = boost::system::error_code(),
size_t length = 0);
231 void logIOFailure(boost::system::error_code ec);
236 boost::shared_ptr<IOFetchData> data_;
Upstream Fetch Processing.
void stop(Result reason=STOPPED)
Terminate query.
Control code, fetch has been stopped.
Protocol
Protocol to use on the fetch.
The Question class encapsulates the common search key of DNS lookup, consisting of owner name...
void operator()(boost::system::error_code ec=boost::system::error_code(), size_t length=0)
Coroutine entry point.
Failure, fetch timed out.
Protocol getProtocol() const
Return Current Protocol.
IOFetch(Protocol protocol, isc::asiolink::IOService &service, const isc::dns::Question &question, const isc::asiolink::IOAddress &address, uint16_t port, isc::util::OutputBufferPtr &buff, Callback *cb, int wait=-1, bool edns=true)
Constructor.
The IOService class is a wrapper for the ASIO io_service class.
boost::shared_ptr< Message > MessagePtr
Pointer-like type pointing to a Message.
Origin
Origin of Asynchronous I/O Call.
virtual void operator()(Result result)=0
Callback method.
For testing, indicates value not set.
Callback()
Default Constructor.
Defines the logger used by the top-level component of kea-dhcp-ddns.
Result
Result of Upstream Fetch.
virtual ~Callback()
Virtual Destructor.
No asynchronous call outstanding.
boost::shared_ptr< OutputBuffer > OutputBufferPtr
The IOAddress class represents an IP addresses (version agnostic)
Success, fetch completed.
boost::shared_ptr< const Message > ConstMessagePtr