IPRateMonitor
is a C++ class that defines two private struct
s:
Record
and Table
. Figure 5.1 contains the C++ code
that defined these struct
s.
from_rate
and to_rate
in Record
are used to store packet
rates. EWMA
implements an exponentially weighted moving average and is
used to keep track of rates. child
contains a pointer to a child or
NULL
if no child exists. Besides 256 pointers to Record
,
Table
contains a pointer to the parent record (parent
) and two
pointers (prev
and next
) that are used to maintain a
doubly-linked list of nodes--their use is explained in
Section 5.3. root
points to the
root node.