| 
 
 | 
 | 
This entry contains all the information about the condition a dataflow must satisfy to deliver a signal. It is (S,G)-specific, but there could be more than one MfeaDfe entries per (S,G).
| MfeaDfe (MfeaDfeLookup& mfea_dfe_lookup,
	    const struct timeval& threshold_interval,
	    uint32_t threshold_packets,
	    uint32_t threshold_bytes,
	    bool is_threshold_in_packets,
	    bool is_threshold_in_bytes,
	    bool is_geq_upcall,
	    bool is_leq_upcall) | MfeaDfe | 
Constructor with information with the dataflow condition to satisfy.
Note: either is_threshold_in_packets or is_threshold_in_bytes (or both) must be true. Note: either is_geq_upcall or is_leq_upcall (but not both) must be true.
Parameters:
| mfea_dfe_lookup | the MfeaDfeLookup entry this entry belongs to. | 
| threshold_interval | the dataflow threshold interval. | 
| threshold_packets | the threshold (in number of packets) to compare against. | 
| threshold_bytes | the threshold (in number of bytes) to compare against. | 
| is_threshold_in_packets | if true, threshold_packets is valid. | 
| is_threshold_in_bytes | if true, threshold_bytes is valid. | 
| is_geq_upcall | if true, the operation for comparison is ">=". | 
| is_leq_upcall | if true, the operation for comparison is "<=". | 
| ~MfeaDfe () | ~MfeaDfe | 
Destructor
| MfeaDfeLookup&  mfea_dfe_lookup () | mfea_dfe_lookup | 
[const]
Get a reference to the MfeaDfeLookup entry this entry belongs to.
Returns: a reference to the MfeaDfeLookup entry this entry belongs to.
| MfeaDft&  mfea_dft () | mfea_dft | 
[const]
Get a reference to the MfeaDft dataflow table this entry belongs to.
Returns: a reference to the MfeaDft dataflow table this entry belongs to.
| int		 family () | family | 
[const]
Get the address family.
Returns: the address family (e.g., AF_INET or AF_INET6 for IPv4 and IPv6 respectively).
| const IPvX&  source_addr () | source_addr | 
[const]
Get the source address.
Returns: the source address.
| const IPvX&  group_addr () | group_addr | 
[const]
Get the group address.
Returns: the group address.
| bool  is_valid () | is_valid | 
[const]
Test if this entry is valid.
An entry is valid if, for example: (a) either is_threshold_in_packets or is_threshold_in_bytes (or both) must be true. (b) either is_geq_upcall or is_leq_upcall (but not both) must be true. (c) the threshold interval is not too small. (d) the bandwidth-related statistics do not contain invalid values.
Returns: true if this entry is valid, otherwise false.
| bool  is_same (const struct timeval& threshold_interval,
		 uint32_t threshold_packets,
		 uint32_t threshold_bytes,
		 bool is_threshold_in_packets,
		 bool is_threshold_in_bytes,
		 bool is_geq_upcall,
		 bool is_leq_upcall) | is_same | 
[const]
Compare whether the information contained within this MfeaDfe entry is same as the specified information.
Parameters:
| threshold_interval | the dataflow threshold interval. | 
| threshold_packets | the threshold (in number of packets) to compare against. | 
| threshold_bytes | the threshold (in number of bytes) to compare against. | 
| is_threshold_in_packets | if true, threshold_packets is valid. | 
| is_threshold_in_bytes | if true, threshold_bytes is valid. | 
| is_geq_upcall | if true, the operation for comparison is ">=". | 
| is_leq_upcall | if true, the operation for comparison is "<=". | 
Returns: true if the information contained within this MfeaDfe entry is same as the specified information, otherwise false.
| void  init_sg_count () | init_sg_count | 
Initialize this entry with the current multicast forwarding information.
The current multicast forwarding bandwidth information is read from the kernel.
| bool  test_sg_count () | test_sg_count | 
Test if the dataflow bandwidth satisfies the pre-defined condition.
The multicast forwarding bandwidth information is read from the kernel, and then is tested whether is above/below the pre-defined threshold.
Returns: true if the dataflow bandwidth satisifes the pre-defined condition, otherwise false. Note: if both "is_threshold_in_packets" and "is_threshold_in_bytes" are true, then return true if the test is positive for either unit (i.e., packets or bytes).
| void  start_measurement () | start_measurement | 
Start bandwidth measurement.
| void  dataflow_signal_send () | dataflow_signal_send | 
Send a dataflow signal that the pre-defined condition is true.
| Generated by: pavlin on possum.icir.org on Wed Dec 11 16:50:48 2002, using kdoc 2.0a54+XORP. |