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