Construct a windowed filter. More...
#include "windowed-filter.h"
Inheritance diagram for ns3::WindowedFilter< T, Compare, TimeT, TimeDeltaT >:
Collaboration diagram for ns3::WindowedFilter< T, Compare, TimeT, TimeDeltaT >:Classes | |
| struct | Sample |
| sample. More... | |
Public Member Functions | |
| WindowedFilter () | |
| constructor More... | |
| WindowedFilter (TimeDeltaT windowLength, T zeroValue, TimeT zeroTime) | |
| constructor More... | |
| T | GetBest () const |
| Returns Max/Min value so far among the windowed samples. More... | |
| T | GetSecondBest () const |
| Returns second Max/Min value so far among the windowed samples. More... | |
| T | GetThirdBest () const |
| Returns third Max/Min value so far among the windowed samples. More... | |
| void | Reset (T new_sample, TimeT new_time) |
| Resets all estimates to new sample. More... | |
| void | SetWindowLength (TimeDeltaT windowLength) |
| Changes the window length. More... | |
| void | Update (T new_sample, TimeT new_time) |
| Updates best estimates with |sample|, and expires and updates best estimates as necessary. More... | |
Public Attributes | |
| Sample | m_samples [3] |
| Best estimate is element 0. More... | |
| TimeDeltaT | m_windowLength |
| Time length of window. More... | |
| T | m_zeroValue |
| Uninitialized value of T. More... | |
Construct a windowed filter.
Use the following to construct a windowed filter object of type T. For example, a min filter using QuicTime as the time type: WindowedFilter<T, MinFilter<T>, QuicTime, QuicTime::Delta> ObjectName; max filter using 64-bit integers as the time type: WindowedFilter<T, MaxFilter<T>, uint64_t, int64_t> ObjectName;
| T | – type of the measurement that is being filtered. |
| Compare | – MinFilter<T> or MaxFilter<T>, depending on the type of filter desired. |
| TimeT | – the type used to represent timestamps. |
| TimeDeltaT | – the type used to represent continuous time intervals between two timestamps. Has to be the type of (a - b) if both |a| and |b| are of type TimeT. |
Definition at line 135 of file windowed-filter.h.
|
inline |
constructor
Definition at line 141 of file windowed-filter.h.
|
inline |
constructor
| windowLength | is the period after which a best estimate expires. |
| zeroValue | is used as the uninitialized value for objects of T. Importantly, zeroValue should be an invalid value for a true sample. |
| zeroTime | is the time of instance record time. |
Definition at line 152 of file windowed-filter.h.
|
inline |
Returns Max/Min value so far among the windowed samples.
Definition at line 246 of file windowed-filter.h.
References ns3::WindowedFilter< T, Compare, TimeT, TimeDeltaT >::m_samples, and ns3::WindowedFilter< T, Compare, TimeT, TimeDeltaT >::Sample::sample.
Referenced by ns3::TcpBbr::AckAggregationCwnd(), ns3::TcpBbr::CheckFullPipe(), ns3::TcpBbr::InFlight(), ns3::TcpBbr::SetPacingRate(), ns3::TcpBbr::UpdateAckAggregation(), and ns3::TcpBbr::UpdateBtlBw().
Here is the caller graph for this function:
|
inline |
Returns second Max/Min value so far among the windowed samples.
Definition at line 255 of file windowed-filter.h.
References ns3::WindowedFilter< T, Compare, TimeT, TimeDeltaT >::m_samples, and ns3::WindowedFilter< T, Compare, TimeT, TimeDeltaT >::Sample::sample.
|
inline |
Returns third Max/Min value so far among the windowed samples.
Definition at line 264 of file windowed-filter.h.
References ns3::WindowedFilter< T, Compare, TimeT, TimeDeltaT >::m_samples, and ns3::WindowedFilter< T, Compare, TimeT, TimeDeltaT >::Sample::sample.
|
inline |
Resets all estimates to new sample.
| new_sample | update new sample. |
| new_time | record time of the new sample. |
Definition at line 237 of file windowed-filter.h.
References ns3::WindowedFilter< T, Compare, TimeT, TimeDeltaT >::m_samples.
Referenced by ns3::WindowedFilter< T, Compare, TimeT, TimeDeltaT >::Update().
Here is the caller graph for this function:
|
inline |
Changes the window length.
Does not update any current samples.
| windowLength | is the period after which a best estimate expires. |
Definition at line 165 of file windowed-filter.h.
References ns3::WindowedFilter< T, Compare, TimeT, TimeDeltaT >::m_windowLength.
|
inline |
Updates best estimates with |sample|, and expires and updates best estimates as necessary.
| new_sample | update new sample. |
| new_time | record time of the new sample. |
Definition at line 177 of file windowed-filter.h.
References ns3::WindowedFilter< T, Compare, TimeT, TimeDeltaT >::m_samples, ns3::WindowedFilter< T, Compare, TimeT, TimeDeltaT >::m_windowLength, ns3::WindowedFilter< T, Compare, TimeT, TimeDeltaT >::m_zeroValue, and ns3::WindowedFilter< T, Compare, TimeT, TimeDeltaT >::Reset().
Referenced by ns3::TcpBbr::UpdateBtlBw().
Here is the call graph for this function:
Here is the caller graph for this function:| Sample ns3::WindowedFilter< T, Compare, TimeT, TimeDeltaT >::m_samples[3] |
Best estimate is element 0.
Definition at line 298 of file windowed-filter.h.
Referenced by ns3::WindowedFilter< T, Compare, TimeT, TimeDeltaT >::GetBest(), ns3::WindowedFilter< T, Compare, TimeT, TimeDeltaT >::GetSecondBest(), ns3::WindowedFilter< T, Compare, TimeT, TimeDeltaT >::GetThirdBest(), ns3::WindowedFilter< T, Compare, TimeT, TimeDeltaT >::Reset(), and ns3::WindowedFilter< T, Compare, TimeT, TimeDeltaT >::Update().
| TimeDeltaT ns3::WindowedFilter< T, Compare, TimeT, TimeDeltaT >::m_windowLength |
Time length of window.
Definition at line 296 of file windowed-filter.h.
Referenced by ns3::WindowedFilter< T, Compare, TimeT, TimeDeltaT >::SetWindowLength(), and ns3::WindowedFilter< T, Compare, TimeT, TimeDeltaT >::Update().
| T ns3::WindowedFilter< T, Compare, TimeT, TimeDeltaT >::m_zeroValue |
Uninitialized value of T.
Definition at line 297 of file windowed-filter.h.
Referenced by ns3::WindowedFilter< T, Compare, TimeT, TimeDeltaT >::Update().