Main Page | Namespace List | Class Hierarchy | Class List | File List | Namespace Members | Class Members | File Members

common::NetworkManager Class Reference

The NetworkManager class provides a unified interface to set up links and nodes for a given network topology (represented by an adjacency graph). More...

#include <gmpls.h>

List of all members.

Public Member Functions

int lightpathSetup (long lightpath, int *rt, int rSize)
 Setup a lightpath on the pre-specified route.

int lightpathTeardown (long lightpath, int *rt, int rSize)
 Tear down the lightpath on the pre-specified route.

 NetworkManager (u_int size, u_int chCount, u_int trxCount, std::string filename)
 Construct a new NetworkManager object by constructing the topology from the provided input file.

 NetworkManager (u_int size, std::string filename)
 Construct a new NetworkManager object by constructing the topology from the provided input file.

 ~NetworkManager ()
 Default destructor.


Protected Member Functions

void constructNetwork (double **matrix, u_int chCount, u_int trxCount)
 Construct and initialize the network from the provided network or adjacency matrix.

void init (u_int size, u_int chCount, u_int trxCount, std::string filename)
 Internal method, intended to be called by the constructor.


Protected Attributes

GroomerNode ** _nodeMap
 The node map contains a list of all the node objects indexed by the corresponding nodeIds.

u_int _size
 Number of nodes in the network.


Detailed Description

The NetworkManager class provides a unified interface to set up links and nodes for a given network topology (represented by an adjacency graph).

Additionally, it provides a transparent interface to setup and teardown lightpaths.

Author:
Rama Shenai
Version:
1.0 05/20/2004


Constructor & Destructor Documentation

common::NetworkManager::NetworkManager u_int  size,
std::string  filename
 

Construct a new NetworkManager object by constructing the topology from the provided input file.

Parameters:
size The size of the input matrix
filename The input filename

common::NetworkManager::NetworkManager u_int  size,
u_int  chCount,
u_int  trxCount,
std::string  filename
 

Construct a new NetworkManager object by constructing the topology from the provided input file.

Parameters:
size The size of the input matrix
chCount The number of channels-per-link
trxCount The number of tx/rx in the transceiver array
filename The input filename

common::NetworkManager::~NetworkManager  ) 
 

Default destructor.


Member Function Documentation

int common::NetworkManager::lightpathSetup long  lightpath,
int *  rt,
int  rSize
 

Setup a lightpath on the pre-specified route.

Parameters:
lightpath A unique lightpath identifier
rt The lightpath route.
rSize The lightpath route Size
Returns:
A value >= 0 for a successful schedule, any other value indicates either an unsuccessful schedule or an error.

int common::NetworkManager::lightpathTeardown long  lightpath,
int *  rt,
int  rSize
 

Tear down the lightpath on the pre-specified route.

Parameters:
lightpath A unique lightpath identifier
rt The route which the lightpath takes
rSize The lightpath route Size
Returns:
The result of the teardown operation. A value >= 0 for a successful operation.

void common::NetworkManager::init u_int  size,
u_int  chCount,
u_int  trxCount,
std::string  filename
[protected]
 

Internal method, intended to be called by the constructor.

Parameters:
size The size of the input matrix
chCount The number of channels-per-link
trxCount The number of tx/rx in the transceiver array
filename The input filename

void common::NetworkManager::constructNetwork double **  matrix,
u_int  chCount,
u_int  trxCount
[protected]
 

Construct and initialize the network from the provided network or adjacency matrix.

This will populate the node map.

Parameters:
size The size of the matrix
matrix The adjacency matrix
chCount The number of channels per wavelength


Member Data Documentation

GroomerNode** common::NetworkManager::_nodeMap [protected]
 

The node map contains a list of all the node objects indexed by the corresponding nodeIds.

u_int common::NetworkManager::_size [protected]
 

Number of nodes in the network.


The documentation for this class was generated from the following file:
Generated on Fri May 21 15:23:21 2004 for Optical Network Simulation (Build) by doxygen 1.3.7