A collection of specialized classes are used to to implement
per-flow statistics gathering.
These classes include:
QueueMonitor/ED/Flowmon,
QueueMonitor/ED/Flow, and Classifier/Hash.
Typically, an arriving packet is inspected to determine
to which flow it belongs.
This inspection and flow mapping is performed by a classifier
object (described in section 21.7.1).
Once the correct flow is determined, the packet is passed to
a flow monitor, which is responsible for collecting per-flow
state.
Per-flow state is contained in flow objects in a one-to-one
relationship to the flows known by the flow monitor.
Typically, a flow monitor will create flow objects on-demand when
packets arrive that cannot be mapped to an already-known flow.