A Discrete-Event Network Simulator
Home
Tutorials ▼
English
Portuguese
Docs ▼
Wiki
Manual
Models
Develop ▼
API
Bugs
API
Main Page
Related Pages
Modules
Namespaces
Classes
Files
File List
File Members
connection-manager.h
Go to the documentation of this file.
1
/* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
2
/*
3
* Copyright (c) 2007,2008,2009 INRIA, UDcast
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
* Authors: Jahanzeb Farooq <jahanzeb.farooq@sophia.inria.fr>
19
* Mohamed Amine Ismail <amine.ismail@sophia.inria.fr>
20
* <amine.ismail@UDcast.com>
21
*/
22
23
#ifndef CONNECTION_MANAGER_H
24
#define CONNECTION_MANAGER_H
25
26
#include <stdint.h>
27
#include "
cid.h
"
28
#include "
wimax-connection.h
"
29
#include "ns3/mac48-address.h"
30
31
namespace
ns3
{
32
33
class
CidFactory;
34
class
SSRecord;
35
class
RngRsp;
36
class
WimaxNetDevice;
37
class
SubscriberStationNetDevice;
38
44
class
ConnectionManager
:
public
Object
45
{
46
public
:
47
static
TypeId
GetTypeId
(
void
);
48
ConnectionManager
(
void
);
49
~ConnectionManager
(
void
);
50
void
DoDispose
(
void
);
51
void
SetCidFactory
(
CidFactory
*cidFactory);
57
void
AllocateManagementConnections
(
SSRecord
*ssRecord,
RngRsp
*rngrsp);
62
Ptr<WimaxConnection>
CreateConnection
(
Cid::Type
type);
68
void
AddConnection
(
Ptr<WimaxConnection>
connection,
Cid::Type
type);
72
Ptr<WimaxConnection>
GetConnection
(
Cid
cid);
76
std::vector<Ptr<WimaxConnection> >
GetConnections
(
Cid::Type
type)
const
;
77
uint32_t
GetNPackets
(
Cid::Type
type,
ServiceFlow::SchedulingType
schedulingType)
const
;
81
bool
HasPackets
(
void
)
const
;
82
private
:
83
std::vector<Ptr<WimaxConnection> >
m_basicConnections
;
84
std::vector<Ptr<WimaxConnection> >
m_primaryConnections
;
85
std::vector<Ptr<WimaxConnection> >
m_transportConnections
;
86
std::vector<Ptr<WimaxConnection> >
m_multicastConnections
;
87
// only for BS
88
CidFactory
*
m_cidFactory
;
89
};
90
91
}
// namespace ns3
92
93
#endif
/* CONNECTION_MANAGER_H */
94
ns3::ConnectionManager::GetConnection
Ptr< WimaxConnection > GetConnection(Cid cid)
Definition:
connection-manager.cc:128
ns3::Ptr
Smart pointer class similar to boost::intrusive_ptr.
Definition:
ptr.h:73
ns3::ConnectionManager
The same connection manager class serves both for BS and SS though some functions are exclusive to on...
Definition:
connection-manager.h:44
wimax-connection.h
ns3::RngRsp
Introspection did not find any typical Config paths.
Definition:
mac-messages.h:97
ns3::ConnectionManager::DoDispose
void DoDispose(void)
Destructor implementation.
Definition:
connection-manager.cc:54
ns3::ConnectionManager::GetTypeId
static TypeId GetTypeId(void)
Definition:
connection-manager.cc:40
ns3::ConnectionManager::GetNPackets
uint32_t GetNPackets(Cid::Type type, ServiceFlow::SchedulingType schedulingType) const
Definition:
connection-manager.cc:184
ns3::ConnectionManager::m_primaryConnections
std::vector< Ptr< WimaxConnection > > m_primaryConnections
Definition:
connection-manager.h:84
ns3::ConnectionManager::m_multicastConnections
std::vector< Ptr< WimaxConnection > > m_multicastConnections
Definition:
connection-manager.h:86
ns3::ConnectionManager::~ConnectionManager
~ConnectionManager(void)
Definition:
connection-manager.cc:58
ns3::ConnectionManager::AddConnection
void AddConnection(Ptr< WimaxConnection > connection, Cid::Type type)
add a connection to the list of managed connections
Definition:
connection-manager.cc:105
ns3
Every class exported by the ns3 library is enclosed in the ns3 namespace.
ns3::ConnectionManager::m_basicConnections
std::vector< Ptr< WimaxConnection > > m_basicConnections
Definition:
connection-manager.h:83
ns3::Cid
Definition:
cid.h:35
ns3::ConnectionManager::m_transportConnections
std::vector< Ptr< WimaxConnection > > m_transportConnections
Definition:
connection-manager.h:85
ns3::ConnectionManager::m_cidFactory
CidFactory * m_cidFactory
Definition:
connection-manager.h:88
ns3::ConnectionManager::HasPackets
bool HasPackets(void) const
Definition:
connection-manager.cc:229
ns3::ConnectionManager::AllocateManagementConnections
void AllocateManagementConnections(SSRecord *ssRecord, RngRsp *rngrsp)
allocates the management connection for an ss record.
Definition:
connection-manager.cc:69
ns3::ConnectionManager::CreateConnection
Ptr< WimaxConnection > CreateConnection(Cid::Type type)
create a connection of type type
Definition:
connection-manager.cc:82
cid.h
ns3::ConnectionManager::SetCidFactory
void SetCidFactory(CidFactory *cidFactory)
Definition:
connection-manager.cc:63
ns3::ConnectionManager::ConnectionManager
ConnectionManager(void)
Definition:
connection-manager.cc:48
ns3::ConnectionManager::GetConnections
std::vector< Ptr< WimaxConnection > > GetConnections(Cid::Type type) const
Definition:
connection-manager.cc:160
ns3::SSRecord
This class is used by the base station to store some information related to subscriber station in the...
Definition:
ss-record.h:43
ns3::Object
A base class which provides memory management and object aggregation.
Definition:
object.h:87
ns3::CidFactory
This class is used exclusively by the BS to allocate CIDs to new connections.
Definition:
cid-factory.h:45
ns3::TypeId
a unique identifier for an interface.
Definition:
type-id.h:57
ns3::Cid::Type
Type
Definition:
cid.h:38
ns3::ServiceFlow::SchedulingType
SchedulingType
Definition:
service-flow.h:53
src
wimax
model
connection-manager.h
Generated on Thu Aug 13 2015 14:28:14 for ns-3 by
1.8.9.1