A Discrete-Event Network Simulator
Home
Tutorials ▼
English
Documentation ▼
Manual
Models
Contributing
Wiki
Development ▼
API Docs
Issue Tracker
Merge Requests
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
:
56
FlowId
m_lastNewFlowId
;
57
58
public
:
59
60
FlowClassifier
();
61
virtual
~FlowClassifier
();
62
63
// Delete copy constructor and assignment operator to avoid misuse
64
FlowClassifier
(
FlowClassifier
const
&) =
delete
;
65
FlowClassifier
&
operator=
(
FlowClassifier
const
&) =
delete
;
66
70
virtual
void
SerializeToXmlStream
(std::ostream &os, uint16_t
indent
)
const
= 0;
71
72
protected
:
75
FlowId
GetNewFlowId
();
76
81
void
Indent
(std::ostream &os, uint16_t level)
const
;
82
83
};
84
85
inline
void
86
FlowClassifier::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 */
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:86
ns3::FlowClassifier::~FlowClassifier
virtual ~FlowClassifier()
Definition:
flow-classifier.cc:31
ns3::FlowClassifier::FlowClassifier
FlowClassifier()
Definition:
flow-classifier.cc:25
ns3::FlowClassifier::GetNewFlowId
FlowId GetNewFlowId()
Returns a new, unique Flow Identifier.
Definition:
flow-classifier.cc:36
ns3::FlowClassifier::operator=
FlowClassifier & operator=(FlowClassifier const &)=delete
ns3::FlowClassifier::FlowClassifier
FlowClassifier(FlowClassifier const &)=delete
ns3::FlowClassifier::m_lastNewFlowId
FlowId m_lastNewFlowId
Last known Flow ID.
Definition:
flow-classifier.h:56
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:73
ns3::FlowId
uint32_t FlowId
Abstract identifier of a packet flow.
Definition:
flow-classifier.h:33
ns3::FlowPacketId
uint32_t FlowPacketId
Abstract identifier of a packet within a flow.
Definition:
flow-classifier.h:39
check-style.indent
def indent(source, debug, level)
Definition:
check-style.py:432
ns3
Every class exported by the ns3 library is enclosed in the ns3 namespace.
src
flow-monitor
model
flow-classifier.h
Generated on Tue Feb 6 2024 19:21:18 for ns-3 by
1.9.1