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 
27 namespace ns3 {
28 
33 typedef uint32_t FlowId;
34 
39 typedef uint32_t FlowPacketId;
40 
41 
53 class FlowClassifier : public SimpleRefCount<FlowClassifier>
54 {
55 private:
57 
63 
64 public:
65 
66  FlowClassifier ();
67  virtual ~FlowClassifier ();
68 
72  virtual void SerializeToXmlStream (std::ostream &os, uint16_t indent) const = 0;
73 
74 protected:
78 
83  void Indent (std::ostream &os, uint16_t level) const;
84 
85 };
86 
87 inline void
88 FlowClassifier::Indent (std::ostream &os, uint16_t level) const
89 {
90  for (uint16_t __xpto = 0; __xpto < level; __xpto++) os << ' ';
91 }
92 
93 
94 } // namespace ns3
95 
96 #endif /* FLOW_CLASSIFIER_H */
uint32_t FlowPacketId
Abstract identifier of a packet within a flow.
FlowId GetNewFlowId()
Returns a new, unique Flow Identifier.
virtual void SerializeToXmlStream(std::ostream &os, uint16_t indent) const =0
Serializes the results to an std::ostream in XML format.
def indent(source, debug, level)
Definition: check-style.py:424
Every class exported by the ns3 library is enclosed in the ns3 namespace.
FlowClassifier & operator=(FlowClassifier const &)
Defined and not implemented to avoid misuse.
void Indent(std::ostream &os, uint16_t level) const
Add a number of spaces for indentation purposes.
FlowId m_lastNewFlowId
Last known Flow ID.
A template-based reference counting class.
uint32_t FlowId
Abstract identifier of a packet flow.
Provides a method to translate raw packet data into abstract flow identifier and packet identifier pa...