00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
#ifndef _gmpls_h
00019
#define _gmpls_h
00020
00021
#include <cassert>
00022
#include <fstream>
00023
#include <string>
00024
#include <sstream>
00025
00026
#include "groomernode.h"
00027
#include "link.h"
00028
00029 #define DEFAULT_CHANNELS 10 // Default number of channels in the link
00030 #define DEFAULT_TRX 20 // Number of tunable tx/rx in the array
00031 #define NO_LINK 99999.99 // The actual value for NO_LINK in
00032
00033
00034
using namespace common;
00035
using namespace std;
00036
00037
00038 namespace common {
00048 class NetworkManager {
00049
public:
00057
NetworkManager( u_int size, std::string filename );
00058
00068
NetworkManager( u_int size, u_int chCount, u_int trxCount, std::string filename );
00069
00073
~NetworkManager();
00074
00084
int lightpathSetup(
long lightpath,
int *rt,
int rSize );
00085
00095
int lightpathTeardown(
long lightpath,
int *rt,
int rSize );
00096
00097
protected:
00106
void init( u_int size, u_int chCount, u_int trxCount, std::string filename );
00115
void constructNetwork(
double **matrix, u_int chCount, u_int trxCount );
00116
00121 GroomerNode **
_nodeMap;
00122
00126 u_int
_size;
00127 };
00128 };
00129
00130
#endif