|
|
Mld6igmpSourceSet (Mld6igmpGroupRecord& group_record)
| Mld6igmpSourceSet |
Constructor for a given group record.
Parameters:
group_record | the group record this set belongs to. |
~Mld6igmpSourceSet ()
| ~Mld6igmpSourceSet |
Mld6igmpSourceRecord* find_source_record (const IPvX& source)
| find_source_record |
Find a source record.
Parameters:
source | the source address. |
Returns: the corresponding source record (Mld6igmpSourceRecord) if found, otherwise NULL.
void delete_payload_and_clear ()
| delete_payload_and_clear |
Delete the payload of the set, and clear the set itself.
Mld6igmpSourceSet& operator= (const Mld6igmpSourceSet& other)
| operator= |
Assignment operator for sets.
Parameters:
other | the right-hand operand. |
Returns: the assigned set.
Mld6igmpSourceSet operator+ (const Mld6igmpSourceSet& other)
| operator+ |
UNION operator for sets.
Parameters:
other | the 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 operator+ (const set<IPvX>& other)
| operator+ |
UNION operator for sets when the second operand is a set of IPvX addresses.
Parameters:
other | the 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 operator* (const Mld6igmpSourceSet& other)
| operator* |
INTERSECTION operator for sets.
Parameters:
other | the right-hand operand. |
Returns: the intersection of two sets. Note that we use the values from the first set.
Mld6igmpSourceSet operator* (const set<IPvX>& other)
| operator* |
INTERSECTION operator for sets when the second operand is a set of IPvX addresses.
Parameters:
other | the right-hand operand. |
Returns: the intersection of two sets. Note that we use the values from the first set.
Mld6igmpSourceSet operator- (const Mld6igmpSourceSet& other)
| operator- |
REMOVAL operator for sets.
Parameters:
other | the right-hand operand. |
Returns: the elements from the first set (after the elements from the right-hand set have been removed).
Mld6igmpSourceSet operator- (const set<IPvX>& other)
| operator- |
REMOVAL operator for sets when the second operand is a set of IPvX addresses.
Parameters:
other | the right-hand operand. |
Returns: the elements from the first set (after the elements from the right-hand set have been removed).
void set_source_timer (const set<IPvX>& sources, const TimeVal& timeval)
| set_source_timer |
Set the source timer for a set of source addresses.
Parameters:
sources | the set of source addresses whose source timer will be set. |
timeval | the timeout interval of the source timer. |
void set_source_timer (const TimeVal& timeval)
| set_source_timer |
Set the source timer for all source addresses.
Parameters:
timeval | the timeout interval of the source timer. |
void cancel_source_timer (const set<IPvX>& sources)
| cancel_source_timer |
Cancel the source timer for a set of source addresses.
Parameters:
sources | the set of source addresses whose source timer will be canceled. |
void cancel_source_timer ()
| cancel_source_timer |
Cancel the source timer for all source addresses.
void lower_source_timer (const set<IPvX>& sources, const TimeVal& timeval)
| lower_source_timer |
Lower the source timer for a set of sources.
Parameters:
sources | the source addresses. |
timeval | the timeout interval the source timer should be lowered to. |
set<IPvX> extract_source_addresses ()
| extract_source_addresses |
[const]
Extract the set of source addresses.
Returns: the set with the source addresses.