Kea 2.6.0
isc::dhcp::PgSqlLease6Exchange::Uiaid Union Reference

Union for marshalling IAID into and out of the database IAID is defined in the RFC as 4 octets, which Kea code handles as a uint32_t. More...

Public Member Functions

 Uiaid (int32_t val)
 Constructor.
 
 Uiaid (uint32_t val)
 Constructor.
 
std::string dbInputString ()
 Return a string representing the signed 32-bit value.
 

Public Attributes

int32_t ival_
 
uint32_t uval_
 

Detailed Description

Union for marshalling IAID into and out of the database IAID is defined in the RFC as 4 octets, which Kea code handles as a uint32_t.

Postgresql however, offers only signed integer types of sizes 2, 4, and 8 bytes (SMALLINT, INT, and BIGINT respectively). IAID is used in several indexes so rather than use the BIGINT, we use this union to safely move the value into and out of an INT column.

Definition at line 995 of file pgsql_lease_mgr.cc.

Constructor & Destructor Documentation

◆ Uiaid() [1/2]

isc::dhcp::PgSqlLease6Exchange::Uiaid::Uiaid ( uint32_t  val)
inline

Constructor.

Parameters
valunsigned 32 bit value for the IAID.

Definition at line 998 of file pgsql_lease_mgr.cc.

◆ Uiaid() [2/2]

isc::dhcp::PgSqlLease6Exchange::Uiaid::Uiaid ( int32_t  val)
inline

Constructor.

Parameters
valsigned 32 bit value for the IAID.

Definition at line 1002 of file pgsql_lease_mgr.cc.

Member Function Documentation

◆ dbInputString()

std::string isc::dhcp::PgSqlLease6Exchange::Uiaid::dbInputString ( )
inline

Return a string representing the signed 32-bit value.

Definition at line 1005 of file pgsql_lease_mgr.cc.

References ival_.

Referenced by isc::dhcp::PgSqlLease6Exchange::createBindForSend(), and isc::dhcp::PgSqlLeaseMgr::getLeases6().

Member Data Documentation

◆ ival_

int32_t isc::dhcp::PgSqlLease6Exchange::Uiaid::ival_

◆ uval_

uint32_t isc::dhcp::PgSqlLease6Exchange::Uiaid::uval_

The documentation for this union was generated from the following file: