Kea 2.6.2
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 996 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 999 of file pgsql_lease_mgr.cc.

References uval_.

◆ Uiaid() [2/2]

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

Constructor.

Parameters
valsigned 32 bit value for the IAID.

Definition at line 1003 of file pgsql_lease_mgr.cc.

References ival_.

Member Function Documentation

◆ dbInputString()

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

Return a string representing the signed 32-bit value.

Definition at line 1006 of file pgsql_lease_mgr.cc.

References ival_.

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

Member Data Documentation

◆ ival_

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

Definition at line 1011 of file pgsql_lease_mgr.cc.

Referenced by Uiaid(), and dbInputString().

◆ uval_

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

Definition at line 1010 of file pgsql_lease_mgr.cc.

Referenced by Uiaid().


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