A Discrete-Event Network Simulator
Home
Tutorials ▼
English
Docs ▼
Wiki
Manual
Models
Develop ▼
API
Bugs
API
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
:
51
static
TypeId
GetTypeId
(
void
);
52
ConnectionManager
(
void
);
53
~ConnectionManager
(
void
);
54
void
DoDispose
(
void
);
59
void
SetCidFactory
(
CidFactory
*cidFactory);
65
void
AllocateManagementConnections
(
SSRecord
*ssRecord,
RngRsp
*rngrsp);
71
Ptr<WimaxConnection>
CreateConnection
(
Cid::Type
type);
77
void
AddConnection
(
Ptr<WimaxConnection>
connection,
Cid::Type
type);
82
Ptr<WimaxConnection>
GetConnection
(
Cid
cid);
87
std::vector<Ptr<WimaxConnection> >
GetConnections
(
Cid::Type
type)
const
;
94
uint32_t
GetNPackets
(
Cid::Type
type,
ServiceFlow::SchedulingType
schedulingType)
const
;
98
bool
HasPackets
(
void
)
const
;
99
private
:
100
std::vector<Ptr<WimaxConnection> >
m_basicConnections
;
101
std::vector<Ptr<WimaxConnection> >
m_primaryConnections
;
102
std::vector<Ptr<WimaxConnection> >
m_transportConnections
;
103
std::vector<Ptr<WimaxConnection> >
m_multicastConnections
;
104
// only for BS
105
CidFactory
*
m_cidFactory
;
106
};
107
108
}
// namespace ns3
109
110
#endif
/* CONNECTION_MANAGER_H */
111
ns3::ConnectionManager::m_cidFactory
CidFactory * m_cidFactory
the factory
Definition:
connection-manager.h:105
ns3::ConnectionManager::GetTypeId
static TypeId GetTypeId(void)
Get the type ID.
Definition:
connection-manager.cc:40
ns3::TypeId
a unique identifier for an interface.
Definition:
type-id.h:59
ns3::Cid
Cid class.
Definition:
cid.h:38
ns3::ConnectionManager::~ConnectionManager
~ConnectionManager(void)
Definition:
connection-manager.cc:58
ns3::ConnectionManager::SetCidFactory
void SetCidFactory(CidFactory *cidFactory)
Set CID factory.
Definition:
connection-manager.cc:63
ns3
Every class exported by the ns3 library is enclosed in the ns3 namespace.
ns3::ConnectionManager::GetConnections
std::vector< Ptr< WimaxConnection > > GetConnections(Cid::Type type) const
Definition:
connection-manager.cc:160
ns3::ConnectionManager::AllocateManagementConnections
void AllocateManagementConnections(SSRecord *ssRecord, RngRsp *rngrsp)
allocates the management connection for an ss record.
Definition:
connection-manager.cc:69
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::ConnectionManager::ConnectionManager
ConnectionManager(void)
Definition:
connection-manager.cc:48
ns3::Cid::Type
Type
Type enumeration.
Definition:
cid.h:42
ns3::ConnectionManager::CreateConnection
Ptr< WimaxConnection > CreateConnection(Cid::Type type)
create a connection of type type
Definition:
connection-manager.cc:82
ns3::Ptr
Smart pointer class similar to boost::intrusive_ptr.
Definition:
ptr.h:74
ns3::ConnectionManager::DoDispose
void DoDispose(void)
Destructor implementation.
Definition:
connection-manager.cc:54
ns3::Object
A base class which provides memory management and object aggregation.
Definition:
object.h:88
ns3::ConnectionManager
The same connection manager class serves both for BS and SS though some functions are exclusive to on...
Definition:
connection-manager.h:45
ns3::SSRecord
This class is used by the base station to store some information related to subscriber station in the...
Definition:
ss-record.h:44
ns3::ConnectionManager::m_basicConnections
std::vector< Ptr< WimaxConnection > > m_basicConnections
basic connections
Definition:
connection-manager.h:100
ns3::ConnectionManager::HasPackets
bool HasPackets(void) const
Definition:
connection-manager.cc:229
wimax-connection.h
ns3::ConnectionManager::m_multicastConnections
std::vector< Ptr< WimaxConnection > > m_multicastConnections
multicast connections
Definition:
connection-manager.h:103
ns3::ConnectionManager::GetConnection
Ptr< WimaxConnection > GetConnection(Cid cid)
Definition:
connection-manager.cc:128
cid.h
ns3::ConnectionManager::m_primaryConnections
std::vector< Ptr< WimaxConnection > > m_primaryConnections
primary connections
Definition:
connection-manager.h:101
ns3::CidFactory
This class is used exclusively by the BS to allocate CIDs to new connections.
Definition:
cid-factory.h:46
ns3::ServiceFlow::SchedulingType
SchedulingType
section 11.13.11 Service flow scheduling type, page 701
Definition:
service-flow.h:59
ns3::RngRsp
This class implements the ranging response message described by "IEEE Standard for Local and metropol...
Definition:
mac-messages.h:122
ns3::ConnectionManager::GetNPackets
uint32_t GetNPackets(Cid::Type type, ServiceFlow::SchedulingType schedulingType) const
get number of packets
Definition:
connection-manager.cc:184
ns3::ConnectionManager::m_transportConnections
std::vector< Ptr< WimaxConnection > > m_transportConnections
transport connections
Definition:
connection-manager.h:102
src
wimax
model
connection-manager.h
Generated on Fri Oct 1 2021 17:03:53 for ns-3 by
1.8.20