A Discrete-Event Network Simulator
API
flow-classifier.h
Go to the documentation of this file.
1/* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
2//
3// Copyright (c) 2009 INESC Porto
4//
5// This program is free software; you can redistribute it and/or modify
6// it under the terms of the GNU General Public License version 2 as
7// published by the Free Software Foundation;
8//
9// This program is distributed in the hope that it will be useful,
10// but WITHOUT ANY WARRANTY; without even the implied warranty of
11// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12// GNU General Public License for more details.
13//
14// You should have received a copy of the GNU General Public License
15// along with this program; if not, write to the Free Software
16// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
17//
18// Author: Gustavo J. A. M. Carneiro <gjc@inescporto.pt> <gjcarneiro@gmail.com>
19//
20
21#ifndef FLOW_CLASSIFIER_H
22#define FLOW_CLASSIFIER_H
23
24#include "ns3/simple-ref-count.h"
25#include <ostream>
26
27namespace ns3 {
28
34
40
41
53class FlowClassifier : public SimpleRefCount<FlowClassifier>
54{
55private:
57
58public:
59
61 virtual ~FlowClassifier ();
62
63 // Delete copy constructor and assignment operator to avoid misuse
64 FlowClassifier (FlowClassifier const &) = delete;
66
70 virtual void SerializeToXmlStream (std::ostream &os, uint16_t indent) const = 0;
71
72protected:
76
81 void Indent (std::ostream &os, uint16_t level) const;
82
83};
84
85inline void
86FlowClassifier::Indent (std::ostream &os, uint16_t level) const
87{
88 for (uint16_t __xpto = 0; __xpto < level; __xpto++) os << ' ';
89}
90
91
92} // namespace ns3
93
94#endif /* FLOW_CLASSIFIER_H */
Provides a method to translate raw packet data into abstract flow identifier and packet identifier pa...
void Indent(std::ostream &os, uint16_t level) const
Add a number of spaces for indentation purposes.
FlowId GetNewFlowId()
Returns a new, unique Flow Identifier.
FlowClassifier(FlowClassifier const &)=delete
FlowId m_lastNewFlowId
Last known Flow ID.
virtual void SerializeToXmlStream(std::ostream &os, uint16_t indent) const =0
Serializes the results to an std::ostream in XML format.
FlowClassifier & operator=(FlowClassifier const &)=delete
A template-based reference counting class.
uint32_t FlowId
Abstract identifier of a packet flow.
uint32_t FlowPacketId
Abstract identifier of a packet within a flow.
def indent(source, debug, level)
Definition: check-style.py:432
Every class exported by the ns3 library is enclosed in the ns3 namespace.