|  | Kea 3.0.0
    | 
| Public Types | |
| enum | State { NONE , STARTED , STOPPED , SUCCESS , FAILURE } | 
| The TKEY exchange state.  More... | |
| Public Member Functions | |
| TKeyExchangeImpl (const IOServicePtr &io_service, const DnsServerPtr &server, const GssTsigKeyPtr &key, TKeyExchange::Callback *callback, uint32_t timeout, OM_uint32 flags) | |
| Constructor. | |
| virtual | ~TKeyExchangeImpl () | 
| Destructor. | |
| void | cancel () | 
| This function cancels the started TKEY exchange. | |
| void | doExchange () | 
| This function handles the repeated communication with the DNS server trying to complete the TKEY exchange. | |
| isc::asiolink::IOServicePtr | getIOService () | 
| Gets IO service. | |
| virtual void | operator() (IOFetch::Result result) | 
| This internal callback is called when the DNS update message exchange is complete. | |
| void | setIOService (const isc::asiolink::IOServicePtr &io_service) | 
| Sets IO service. | |
| Public Member Functions inherited from isc::asiodns::IOFetch::Callback | |
| Callback ()=default | |
| Constructor. | |
| virtual | ~Callback ()=default | 
| Destructor. | |
Definition at line 69 of file tkey_exchange.cc.
The TKEY exchange state.
| Enumerator | |
|---|---|
| NONE | Initial state: no action has been initiated. | 
| STARTED | The TKEY exchange has been started. | 
| STOPPED | The TKEY exchange has been canceled. | 
| SUCCESS | The TKEY exchange has succeeded. | 
| FAILURE | The TKEY exchange has failed. | 
Definition at line 72 of file tkey_exchange.cc.
| isc::gss_tsig::TKeyExchangeImpl::TKeyExchangeImpl | ( | const IOServicePtr & | io_service, | 
| const DnsServerPtr & | server, | ||
| const GssTsigKeyPtr & | key, | ||
| TKeyExchange::Callback * | callback, | ||
| uint32_t | timeout, | ||
| OM_uint32 | flags ) | 
Constructor.
| io_service | The IOService which handles IO operations. | 
| server | The server for which the TKEY exchange is performed. | 
| key | The TKEY being updated. | 
| callback | Pointer to an object implementing TKeyExchange::Callbackclass. This object will be called when DNS message exchange completes or if an error occurs. NULL value disables callback invocation. | 
| timeout | The timeout for the IO operations. | 
| flags | The flags used for the TKEY exchange. | 
Definition at line 205 of file tkey_exchange.cc.
| 
 | virtual | 
Destructor.
Definition at line 221 of file tkey_exchange.cc.
References cancel().
| void isc::gss_tsig::TKeyExchangeImpl::cancel | ( | ) | 
This function cancels the started TKEY exchange.
Definition at line 454 of file tkey_exchange.cc.
References STOPPED.
Referenced by ~TKeyExchangeImpl().
| void isc::gss_tsig::TKeyExchangeImpl::doExchange | ( | ) | 
This function handles the repeated communication with the DNS server trying to complete the TKEY exchange.
Definition at line 431 of file tkey_exchange.cc.
References isc::gss_tsig::BAD_CLIENT_CREDENTIALS, isc::gss_tsig::TKeyExchange::BAD_CREDENTIALS, isc::gss_tsig::gss_tsig_logger, isc_throw, LOG_ERROR, NONE, STARTED, and isc::Exception::what().
| 
 | inline | 
Gets IO service.
Definition at line 116 of file tkey_exchange.cc.
| 
 | virtual | 
This internal callback is called when the DNS update message exchange is complete.
It further invokes the external callback provided by a caller.
| result | The result of the IOFetch operation. | 
Implements isc::asiodns::IOFetch::Callback.
Definition at line 226 of file tkey_exchange.cc.
References isc::gss_tsig::gss_tsig_logger, isc::gss_tsig::TKeyExchange::INVALID_RESPONSE, isc::gss_tsig::TKeyExchange::IO_STOPPED, LOG_ERROR, isc::gss_tsig::TKeyExchange::OTHER, isc::asiodns::IOFetch::STOPPED, isc::asiodns::IOFetch::SUCCESS, isc::asiodns::IOFetch::TIME_OUT, isc::gss_tsig::TKeyExchange::TIMEOUT, isc::gss_tsig::TKEY_EXCHANGE_FAIL_EMPTY_IN_TOKEN, isc::gss_tsig::TKEY_EXCHANGE_FAIL_IO_ERROR, isc::gss_tsig::TKEY_EXCHANGE_FAIL_IO_STOPPED, and isc::gss_tsig::TKEY_EXCHANGE_FAIL_IO_TIMEOUT.
| 
 | inline | 
Sets IO service.
| io_service | IOService object, used for all ASIO operations. | 
Definition at line 123 of file tkey_exchange.cc.