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
selfsetData (void *data)
 Set the client data.

Protected Member Functions

selfsetMin (ArgType min)
 Set the minimum value of the interval.
selfsetMin (Metric const &min)
 Set the minimum value of the interval.
selfsetMax (ArgType max)
 Set the maximum value of the interval.
selfsetMax (Metric const &max)
 Set the maximum value of the interval.
selfsetMaxMinusOne (Metric const &max)
 Set the maximum value to one less than max.
selfsetMinPlusOne (Metric const &min)
 Set the minimum value to one more than min.
selfdecrementMax ()
 Decremement the maximum value in place.
selfincrementMin ()
 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: