00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
#ifndef _groomer_node_h
00019
#define _groomer_node_h
00020
00021
#include <string>
00022
#include <sstream>
00023
00024
#include "node.h"
00025
#include "trx.h"
00026
00027
using namespace std;
00028
00029
namespace common {
00042 class GroomerNode :
public Node {
00043
public:
00050
GroomerNode( u_int nodeId, u_int trxCount );
00051
00055
~GroomerNode();
00056
00066
int scheduleAny(
long lightpath, u_int nextHop,
int prevWavelength );
00067
00076
int scheduleSource(
long lightpath, u_int nextHop );
00077
00087
int scheduleDestination(
long lightpath,
int prevWavelength );
00088
00096
int scheduleSpecific(
long lightpath, u_int nextHop, u_int prevWavelength );
00097
00103
int clearSchedule(
long lightpath );
00104
00109 std::string &
toString();
00110
private:
00114 TunableTRXArray *
_tx;
00115
00119 TunableTRXArray *
_rx;
00120
00124 u_int
_trxCount;
00125 };
00126 };
00127
00128
#endif