Public Types | Public Member Functions | Protected Member Functions | Static Protected Member Functions | Friends

ts::detail::Ip6Node Class Reference

Node for IPv6 map. More...

Inherits IpMap::Node, and ts::detail::Interval< sockaddr_in6 >.

Collaboration diagram for ts::detail::Ip6Node:
Collaboration graph
[legend]

Public Types

typedef Ip6Node self
 Self reference type.
typedef Metric const * ArgType
 Override ArgType from Interval because the convention is to use a pointer, not a reference.

Public Member Functions

 Ip6Node (ArgType min, ArgType max, void *data)
 Construct from pointers.
 Ip6Node (Metric const &min, Metric const &max, void *data)
 Construct with values.
virtual sockaddr const * min () const
virtual sockaddr const * max () const
self & setData (void *data)
 Set the client data.

Protected Member Functions

self & setMin (ArgType min)
 Set the minimum value of the interval.
self & setMin (Metric const &min)
 Set the minimum value of the interval.
self & setMax (ArgType max)
 Set the maximum value of the interval.
self & setMax (Metric const &max)
 Set the maximum value of the interval.
self & setMaxMinusOne (Metric const &max)
 Set the maximum value to one less than max.
self & setMinPlusOne (Metric const &min)
 Set the minimum value to one more than min.
self & decrementMax ()
 Decremement the maximum value in place.
self & incrementMin ()
 Increment the mininimum value in place.

Static Protected Member Functions

static void inc (Metric &m)
 Increment a metric.
static void dec (Metric &m)
 Decrement a metric.
static Metric const & deref (ArgType addr)
static ArgType argue (Metric const &metric)

Friends

struct IpMapBase< Ip6Node >

Detailed Description

Node for IPv6 map.

Definition at line 1098 of file IpMap.cc.


Member Typedef Documentation

Override ArgType from Interval because the convention is to use a pointer, not a reference.

Reimplemented from ts::detail::Interval< T, A >.

Definition at line 1104 of file IpMap.cc.

Self reference type.

Definition at line 1101 of file IpMap.cc.


Constructor & Destructor Documentation

ts::detail::Ip6Node::Ip6Node ( ArgType  min,
ArgType  max,
void *  data 
) [inline]

Construct from pointers.

Parameters:
min Minimum address (network order).
max Maximum address (network order).
data Client data.

Definition at line 1107 of file IpMap.cc.

ts::detail::Ip6Node::Ip6Node ( Metric const &  min,
Metric const &  max,
void *  data 
) [inline]

Construct with values.

Parameters:
min Minimum address (network order).
max Maximum address (network order).
data Client data.

Definition at line 1114 of file IpMap.cc.


Member Function Documentation

static ArgType ts::detail::Ip6Node::argue ( Metric const &  metric  )  [inline, static, protected]
Returns:
The argument type for the metric.

Definition at line 1233 of file IpMap.cc.

static void ts::detail::Ip6Node::dec ( Metric &  m  )  [inline, static, protected]

Decrement a metric.

Parameters:
m Decremented in place.

Definition at line 1214 of file IpMap.cc.

References TS_IP6_SIZE.

Referenced by decrementMax(), and setMaxMinusOne().

self& ts::detail::Ip6Node::decrementMax (  )  [inline, protected]

Decremement the maximum value in place.

Returns:
This object.

Definition at line 1194 of file IpMap.cc.

References ts::detail::Interval< T, A >::_max, and dec().

static Metric const& ts::detail::Ip6Node::deref ( ArgType  addr  )  [inline, static, protected]
Returns:
Dereferenced addr.
Parameters:
addr Argument to dereference.

Definition at line 1226 of file IpMap.cc.

static void ts::detail::Ip6Node::inc ( Metric &  m  )  [inline, static, protected]

Increment a metric.

Parameters:
m Incremented in place.

Definition at line 1201 of file IpMap.cc.

References TS_IP6_SIZE.

Referenced by incrementMin(), and setMinPlusOne().

self& ts::detail::Ip6Node::incrementMin (  )  [inline, protected]

Increment the mininimum value in place.

Returns:
This object.

Definition at line 1198 of file IpMap.cc.

References ts::detail::Interval< T, A >::_min, and inc().

virtual sockaddr const* ts::detail::Ip6Node::max (  )  const [inline, virtual]
Returns:
The maximum value of the interval.

Definition at line 1125 of file IpMap.cc.

References ts::detail::Interval< T, A >::_max, and ats_ip_sa_cast().

virtual sockaddr const* ts::detail::Ip6Node::min (  )  const [inline, virtual]
Returns:
The minimum value of the interval.

Definition at line 1121 of file IpMap.cc.

References ts::detail::Interval< T, A >::_min, and ats_ip_sa_cast().

self& ts::detail::Ip6Node::setData ( void *  data  )  [inline]

Set the client data.

Parameters:
data Client data.

Definition at line 1129 of file IpMap.cc.

References IpMap::Node::_data.

self& ts::detail::Ip6Node::setMax ( Metric const &  max  )  [inline, protected]

Set the maximum value of the interval.

Note:
Convenience overload.
Returns:
This interval.
Parameters:
max Maximum value (host order).

Definition at line 1166 of file IpMap.cc.

References setMax().

self& ts::detail::Ip6Node::setMax ( ArgType  max  )  [inline, protected]

Set the maximum value of the interval.

Returns:
This interval.
Parameters:
max Maximum value (host order).

Definition at line 1157 of file IpMap.cc.

References ts::detail::Interval< T, A >::_max, ats_ip_copy(), and ats_ip_sa_cast().

Referenced by setMax(), and setMaxMinusOne().

self& ts::detail::Ip6Node::setMaxMinusOne ( Metric const &  max  )  [inline, protected]

Set the maximum value to one less than max.

Returns:
This object.
Parameters:
max One more than maximum value.

Definition at line 1174 of file IpMap.cc.

References ts::detail::Interval< T, A >::_max, dec(), and setMax().

self& ts::detail::Ip6Node::setMin ( ArgType  min  )  [inline, protected]

Set the minimum value of the interval.

Returns:
This interval.
Parameters:
min Minimum value (host order).

Definition at line 1139 of file IpMap.cc.

References ts::detail::Interval< T, A >::_min, ats_ip_copy(), and ats_ip_sa_cast().

Referenced by setMin(), and setMinPlusOne().

self& ts::detail::Ip6Node::setMin ( Metric const &  min  )  [inline, protected]

Set the minimum value of the interval.

Note:
Convenience overload.
Returns:
This interval.
Parameters:
min Minimum value (host order).

Definition at line 1149 of file IpMap.cc.

References setMin().

self& ts::detail::Ip6Node::setMinPlusOne ( Metric const &  min  )  [inline, protected]

Set the minimum value to one more than min.

Returns:
This object.
Parameters:
min One less than minimum value.

Definition at line 1184 of file IpMap.cc.

References ts::detail::Interval< T, A >::_min, inc(), and setMin().


Friends And Related Function Documentation

friend struct IpMapBase< Ip6Node > [friend]

Definition at line 1099 of file IpMap.cc.


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