Kea 3.1.1
isc::radius::RadiusAsyncAcct Class Reference

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

#include <radius_request.h>

+ Inheritance diagram for isc::radius::RadiusAsyncAcct:

Public Member Functions

 RadiusAsyncAcct (uint32_t subnet_id, const AttributesPtr &send_attrs, const CallbackAcct &callback)
 Constructor.
 
virtual ~RadiusAsyncAcct ()=default
 Destructor.
 
virtual void start () override
 Start communication.
 
- Public Member Functions inherited from isc::radius::RadiusAcct
 RadiusAcct (uint32_t subnet_id, const AttributesPtr &send_attrs, bool sync, const Exchange::Handler &handler)
 Constructor.
 
virtual ~RadiusAcct ()=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 CallbackAcct &callback, const ExchangePtr exchange)
 Invoke accounting 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 accounting communication with servers.

Definition at line 246 of file radius_request.h.

Constructor & Destructor Documentation

◆ RadiusAsyncAcct()

isc::radius::RadiusAsyncAcct::RadiusAsyncAcct ( uint32_t subnet_id,
const AttributesPtr & send_attrs,
const CallbackAcct & callback )

Constructor.

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

Definition at line 201 of file radius_request.cc.

References isc::radius::RadiusAcct::RadiusAcct(), RadiusAsyncAcct(), and invokeCallback().

Referenced by RadiusAsyncAcct().

+ Here is the call graph for this function:

◆ ~RadiusAsyncAcct()

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

Destructor.

Member Function Documentation

◆ invokeCallback()

void isc::radius::RadiusAsyncAcct::invokeCallback ( const CallbackAcct & callback,
const ExchangePtr exchange )
static

Invoke accounting communication callback.

Parameters
callbackTermination callback.
exchangethe exchange.

Definition at line 224 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_ACCOUNTING_ASYNC_FAILED, isc::radius::RADIUS_ACCOUNTING_ASYNC_SUCCEED, isc::radius::RADIUS_DBG_TRACE, isc::radius::radius_logger, and isc::radius::RadiusImpl::unregisterExchange().

Referenced by RadiusAsyncAcct().

+ Here is the call graph for this function:

◆ start()

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

Start communication.

Reimplemented from isc::radius::RadiusRequest.

Definition at line 210 of file radius_request.cc.

References isc::radius::RadiusRequest::exchange_, LOG_DEBUG, isc::radius::RadiusRequest::nas_port_, isc::radius::RADIUS_ACCOUNTING_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: