Kea 3.1.1
isc::radius::RadiusAsyncAuth Class Reference

class for asynchronous authentication communication with servers. More...

#include <radius_request.h>

+ Inheritance diagram for isc::radius::RadiusAsyncAuth:

Public Member Functions

 RadiusAsyncAuth (uint32_t subnet_id, const AttributesPtr &send_attrs, const CallbackAuth &callback)
 Constructor.
 
virtual ~RadiusAsyncAuth ()=default
 Destructor.
 
virtual void start () override
 Start communication.
 
- Public Member Functions inherited from isc::radius::RadiusAuth
 RadiusAuth (uint32_t subnet_id, const AttributesPtr &send_attrs, bool sync, const Exchange::Handler &handler)
 Constructor.
 
virtual ~RadiusAuth ()=default
 Destructor.
 
- Public Member Functions inherited from isc::radius::RadiusRequest
 RadiusRequest (const MsgCode code, uint32_t subnet_id, const AttributesPtr &send_attrs, bool sync, const Exchange::Handler &handler)
 Constructor.
 
virtual ~RadiusRequest ()=default
 Destructor.
 
ExchangePtr getExchange ()
 Get the exchange.
 
int getRC () const
 Get the error code.
 
AttributesPtr getReqAttrs () const
 Get request attributes.
 
AttributesPtr getRespAttrs () const
 Get response attributes.
 

Static Public Member Functions

static void invokeCallback (const CallbackAuth &callback, const ExchangePtr exchange)
 Invoke authentication communication callback.
 

Additional Inherited Members

- Protected Attributes inherited from isc::radius::RadiusRequest
ExchangePtr exchange_
 Exchange.
 
uint32_t nas_port_
 Client/NAS port (from Subnet Id).
 

Detailed Description

class for asynchronous authentication communication with servers.

Definition at line 165 of file radius_request.h.

Constructor & Destructor Documentation

◆ RadiusAsyncAuth()

isc::radius::RadiusAsyncAuth::RadiusAsyncAuth ( uint32_t subnet_id,
const AttributesPtr & send_attrs,
const CallbackAuth & callback )

Constructor.

Parameters
subnet_idSubnet ID (aka client/NAS port).
send_attrsAttributes to send.
callbackTermination callback.

Definition at line 109 of file radius_request.cc.

References RadiusAsyncAuth(), isc::radius::RadiusAuth::RadiusAuth(), and invokeCallback().

Referenced by RadiusAsyncAuth().

+ Here is the call graph for this function:

◆ ~RadiusAsyncAuth()

virtual isc::radius::RadiusAsyncAuth::~RadiusAsyncAuth ( )
virtualdefault

Destructor.

Member Function Documentation

◆ invokeCallback()

void isc::radius::RadiusAsyncAuth::invokeCallback ( const CallbackAuth & callback,
const ExchangePtr exchange )
static

Invoke authentication communication callback.

Parameters
callbackTermination callback
exchangethe exchange.

Definition at line 132 of file radius_request.cc.

References isc::radius::ERROR_RC, isc::radius::exchangeRCtoText(), isc::radius::RadiusImpl::instance(), LOG_DEBUG, isc::radius::OK_RC, isc::radius::RADIUS_AUTHENTICATION_ASYNC_ACCEPTED, isc::radius::RADIUS_AUTHENTICATION_ASYNC_FAILED, isc::radius::RADIUS_AUTHENTICATION_ASYNC_REJECTED, isc::radius::RADIUS_DBG_TRACE, isc::radius::radius_logger, isc::radius::REJECT_RC, and isc::radius::RadiusImpl::unregisterExchange().

Referenced by RadiusAsyncAuth().

+ Here is the call graph for this function:

◆ start()

void isc::radius::RadiusAsyncAuth::start ( )
overridevirtual

Start communication.

Reimplemented from isc::radius::RadiusRequest.

Definition at line 118 of file radius_request.cc.

References isc::radius::RadiusRequest::exchange_, LOG_DEBUG, isc::radius::RadiusRequest::nas_port_, isc::radius::RADIUS_AUTHENTICATION_ASYNC, isc::radius::RADIUS_DBG_TRACE, isc::radius::radius_logger, and isc::radius::RadiusRequest::start().

+ Here is the call graph for this function:

The documentation for this class was generated from the following files: