xorp

Mld6igmpSourceSet Class Reference

A class to store information about a set of sources. More...

#include <mld6igmp_source_record.hh>

List of all members.

Public Member Functions

 Mld6igmpSourceSet (Mld6igmpGroupRecord &group_record)
 Constructor for a given group record.
 ~Mld6igmpSourceSet ()
 Destructor.
Mld6igmpSourceRecordfind_source_record (const IPvX &source)
 Find a source record.
void delete_payload_and_clear ()
 Delete the payload of the set, and clear the set itself.
Mld6igmpSourceSetoperator= (const Mld6igmpSourceSet &other)
 Assignment operator for sets.
Mld6igmpSourceSet operator+ (const Mld6igmpSourceSet &other)
 UNION operator for sets.
Mld6igmpSourceSet operator+ (const set< IPvX > &other)
 UNION operator for sets when the second operand is a set of IPvX addresses.
Mld6igmpSourceSet operator* (const Mld6igmpSourceSet &other)
 INTERSECTION operator for sets.
Mld6igmpSourceSet operator* (const set< IPvX > &other)
 INTERSECTION operator for sets when the second operand is a set of IPvX addresses.
Mld6igmpSourceSet operator- (const Mld6igmpSourceSet &other)
 REMOVAL operator for sets.
Mld6igmpSourceSet operator- (const set< IPvX > &other)
 REMOVAL operator for sets when the second operand is a set of IPvX addresses.
void set_source_timer (const set< IPvX > &sources, const TimeVal &timeval)
 Set the source timer for a set of source addresses.
void set_source_timer (const TimeVal &timeval)
 Set the source timer for all source addresses.
void cancel_source_timer (const set< IPvX > &sources)
 Cancel the source timer for a set of source addresses.
void cancel_source_timer ()
 Cancel the source timer for all source addresses.
void lower_source_timer (const set< IPvX > &sources, const TimeVal &timeval)
 Lower the source timer for a set of sources.
set< IPvXextract_source_addresses () const
 Extract the set of source addresses.
 Mld6igmpSourceSet (Mld6igmpGroupRecord &group_record)
 Constructor for a given group record.
 ~Mld6igmpSourceSet ()
 Destructor.
Mld6igmpSourceRecordfind_source_record (const IPvX &source)
 Find a source record.
void delete_payload_and_clear ()
 Delete the payload of the set, and clear the set itself.
Mld6igmpSourceSetoperator= (const Mld6igmpSourceSet &other)
 Assignment operator for sets.
Mld6igmpSourceSet operator+ (const Mld6igmpSourceSet &other)
 UNION operator for sets.
Mld6igmpSourceSet operator+ (const set< IPvX > &other)
 UNION operator for sets when the second operand is a set of IPvX addresses.
Mld6igmpSourceSet operator* (const Mld6igmpSourceSet &other)
 INTERSECTION operator for sets.
Mld6igmpSourceSet operator* (const set< IPvX > &other)
 INTERSECTION operator for sets when the second operand is a set of IPvX addresses.
Mld6igmpSourceSet operator- (const Mld6igmpSourceSet &other)
 REMOVAL operator for sets.
Mld6igmpSourceSet operator- (const set< IPvX > &other)
 REMOVAL operator for sets when the second operand is a set of IPvX addresses.
void set_source_timer (const set< IPvX > &sources, const TimeVal &timeval)
 Set the source timer for a set of source addresses.
void set_source_timer (const TimeVal &timeval)
 Set the source timer for all source addresses.
void cancel_source_timer (const set< IPvX > &sources)
 Cancel the source timer for a set of source addresses.
void cancel_source_timer ()
 Cancel the source timer for all source addresses.
void lower_source_timer (const set< IPvX > &sources, const TimeVal &timeval)
 Lower the source timer for a set of sources.
set< IPvXextract_source_addresses () const
 Extract the set of source addresses.

Private Attributes

Mld6igmpGroupRecord_group_record

Detailed Description

A class to store information about a set of sources.


Constructor & Destructor Documentation

Mld6igmpSourceSet::Mld6igmpSourceSet ( Mld6igmpGroupRecord group_record)

Constructor for a given group record.

Parameters:
group_recordthe group record this set belongs to.
Mld6igmpSourceSet::Mld6igmpSourceSet ( Mld6igmpGroupRecord group_record)

Constructor for a given group record.

Parameters:
group_recordthe group record this set belongs to.

Member Function Documentation

void Mld6igmpSourceSet::cancel_source_timer ( const set< IPvX > &  sources)

Cancel the source timer for a set of source addresses.

Parameters:
sourcesthe set of source addresses whose source timer will be canceled.
void Mld6igmpSourceSet::cancel_source_timer ( const set< IPvX > &  sources)

Cancel the source timer for a set of source addresses.

Parameters:
sourcesthe set of source addresses whose source timer will be canceled.
set< IPvX > Mld6igmpSourceSet::extract_source_addresses ( ) const

Extract the set of source addresses.

Returns:
the set with the source addresses.
set<IPvX> Mld6igmpSourceSet::extract_source_addresses ( ) const

Extract the set of source addresses.

Returns:
the set with the source addresses.
Mld6igmpSourceRecord * Mld6igmpSourceSet::find_source_record ( const IPvX source)

Find a source record.

Parameters:
sourcethe source address.
Returns:
the corresponding source record (Mld6igmpSourceRecord) if found, otherwise NULL.
Mld6igmpSourceRecord* Mld6igmpSourceSet::find_source_record ( const IPvX source)

Find a source record.

Parameters:
sourcethe source address.
Returns:
the corresponding source record (Mld6igmpSourceRecord) if found, otherwise NULL.
void Mld6igmpSourceSet::lower_source_timer ( const set< IPvX > &  sources,
const TimeVal timeval 
)

Lower the source timer for a set of sources.

Parameters:
sourcesthe source addresses.
timevalthe timeout interval the source timer should be lowered to.
void Mld6igmpSourceSet::lower_source_timer ( const set< IPvX > &  sources,
const TimeVal timeval 
)

Lower the source timer for a set of sources.

Parameters:
sourcesthe source addresses.
timevalthe timeout interval the source timer should be lowered to.
Mld6igmpSourceSet Mld6igmpSourceSet::operator* ( const Mld6igmpSourceSet other)

INTERSECTION operator for sets.

Parameters:
otherthe right-hand operand.
Returns:
the intersection of two sets. Note that we use the values from the first set.
Mld6igmpSourceSet Mld6igmpSourceSet::operator* ( const Mld6igmpSourceSet other)

INTERSECTION operator for sets.

Parameters:
otherthe right-hand operand.
Returns:
the intersection of two sets. Note that we use the values from the first set.
Mld6igmpSourceSet Mld6igmpSourceSet::operator* ( const set< IPvX > &  other)

INTERSECTION operator for sets when the second operand is a set of IPvX addresses.

Parameters:
otherthe right-hand operand.
Returns:
the intersection of two sets. Note that we use the values from the first set.
Mld6igmpSourceSet Mld6igmpSourceSet::operator* ( const set< IPvX > &  other)

INTERSECTION operator for sets when the second operand is a set of IPvX addresses.

Parameters:
otherthe right-hand operand.
Returns:
the intersection of two sets. Note that we use the values from the first set.
Mld6igmpSourceSet Mld6igmpSourceSet::operator+ ( const Mld6igmpSourceSet other)

UNION operator for sets.

Parameters:
otherthe right-hand operand.
Returns:
the union of two sets. Note that if an element is in both sets, we use the value from the first set.
Mld6igmpSourceSet Mld6igmpSourceSet::operator+ ( const Mld6igmpSourceSet other)

UNION operator for sets.

Parameters:
otherthe right-hand operand.
Returns:
the union of two sets. Note that if an element is in both sets, we use the value from the first set.
Mld6igmpSourceSet Mld6igmpSourceSet::operator+ ( const set< IPvX > &  other)

UNION operator for sets when the second operand is a set of IPvX addresses.

Parameters:
otherthe right-hand operand.
Returns:
the union of two sets. Note that if an element is not in the first set, then it is created (see Mld6igmpSourceRecord).
Mld6igmpSourceSet Mld6igmpSourceSet::operator+ ( const set< IPvX > &  other)

UNION operator for sets when the second operand is a set of IPvX addresses.

Parameters:
otherthe right-hand operand.
Returns:
the union of two sets. Note that if an element is not in the first set, then it is created (see Mld6igmpSourceRecord).
Mld6igmpSourceSet Mld6igmpSourceSet::operator- ( const Mld6igmpSourceSet other)

REMOVAL operator for sets.

Parameters:
otherthe right-hand operand.
Returns:
the elements from the first set (after the elements from the right-hand set have been removed).
Mld6igmpSourceSet Mld6igmpSourceSet::operator- ( const Mld6igmpSourceSet other)

REMOVAL operator for sets.

Parameters:
otherthe right-hand operand.
Returns:
the elements from the first set (after the elements from the right-hand set have been removed).
Mld6igmpSourceSet Mld6igmpSourceSet::operator- ( const set< IPvX > &  other)

REMOVAL operator for sets when the second operand is a set of IPvX addresses.

Parameters:
otherthe right-hand operand.
Returns:
the elements from the first set (after the elements from the right-hand set have been removed).
Mld6igmpSourceSet Mld6igmpSourceSet::operator- ( const set< IPvX > &  other)

REMOVAL operator for sets when the second operand is a set of IPvX addresses.

Parameters:
otherthe right-hand operand.
Returns:
the elements from the first set (after the elements from the right-hand set have been removed).
Mld6igmpSourceSet & Mld6igmpSourceSet::operator= ( const Mld6igmpSourceSet other)

Assignment operator for sets.

Parameters:
otherthe right-hand operand.
Returns:
the assigned set.
Mld6igmpSourceSet& Mld6igmpSourceSet::operator= ( const Mld6igmpSourceSet other)

Assignment operator for sets.

Parameters:
otherthe right-hand operand.
Returns:
the assigned set.
void Mld6igmpSourceSet::set_source_timer ( const TimeVal timeval)

Set the source timer for all source addresses.

Parameters:
timevalthe timeout interval of the source timer.
void Mld6igmpSourceSet::set_source_timer ( const set< IPvX > &  sources,
const TimeVal timeval 
)

Set the source timer for a set of source addresses.

Parameters:
sourcesthe set of source addresses whose source timer will be set.
timevalthe timeout interval of the source timer.
void Mld6igmpSourceSet::set_source_timer ( const TimeVal timeval)

Set the source timer for all source addresses.

Parameters:
timevalthe timeout interval of the source timer.
void Mld6igmpSourceSet::set_source_timer ( const set< IPvX > &  sources,
const TimeVal timeval 
)

Set the source timer for a set of source addresses.

Parameters:
sourcesthe set of source addresses whose source timer will be set.
timevalthe timeout interval of the source timer.

The documentation for this class was generated from the following files:
 All Classes Namespaces Functions Variables Typedefs Enumerations