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

common::GroomerNode Class Reference

Implementation of a SLW converter architecture node. More...

#include <groomernode.h>

Inheritance diagram for common::GroomerNode:

common::Node List of all members.

Public Member Functions

int clearSchedule (long lightpath)
 Remove the specified lightpath.

 GroomerNode (u_int nodeId, u_int trxCount)
 Construct a new GroomerNode object from the provided information.

int scheduleAny (long lightpath, u_int nextHop, int prevWavelength)
 Scheduling methods for a lightpath.

int scheduleDestination (long lightpath, int prevWavelength)
 Scheduling methods for a lightpath.

int scheduleSource (long lightpath, u_int nextHop)
 Scheduling methods for a lightpath.

int scheduleSpecific (long lightpath, u_int nextHop, u_int prevWavelength)
 Scheduling methods for a lightpath.

std::string & toString ()
 Convert this object's representation to String.

 ~GroomerNode ()
 Default destructor.


Private Attributes

TunableTRXArray_rx
 Tunable receiver array.

u_int _trxCount
 Number of tunable transmitters and receivers.

TunableTRXArray_tx
 Tunable transmitter array.


Detailed Description

Implementation of a SLW converter architecture node.

In addition to the basic WDM node (or Node). This node contains a set of tunable TX and a tunable RX arrays, which is considered as a limited resource that can contribute to lightpath blocking.

See also:
common::Node

common::TunableTRXArray

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


Constructor & Destructor Documentation

common::GroomerNode::GroomerNode u_int  nodeId,
u_int  trxCount
 

Construct a new GroomerNode object from the provided information.

Parameters:
nodeId a unique node identifier
trxCount a count of the tunable transceivers.

common::GroomerNode::~GroomerNode  ) 
 

Default destructor.


Member Function Documentation

int common::GroomerNode::scheduleAny long  lightpath,
u_int  nextHop,
int  prevWavelength
 

Scheduling methods for a lightpath.

Checks to see if a specific lightpath has enough resources in order to be scheduled in here. I. The first step is to check to see if a lightpath can be scheduled on the same wavelength as the previous in order to avoid electronic conversion. II. If wavelength is not available, then a check is made to see if necessary Tx and Rx are present so as to fill in the need for wavelength conversion.

Returns:
The result of the scheduleAny operation. (The wavelength)

int common::GroomerNode::scheduleSource long  lightpath,
u_int  nextHop
 

Scheduling methods for a lightpath.

Checks to see if a specific node has enough resources to originate a lightpath as this node. Needs two resources I. A wavelength II. A Tx to transmit the lightpath on the wavelength.

Returns:
The result of the scheduleSource operation (The wavelength)

int common::GroomerNode::scheduleDestination long  lightpath,
int  prevWavelength
 

Scheduling methods for a lightpath.

Checks to see if a specific node has enough resources to terminate a lightpath as this node. Needs two resources II. A Rx to receive the lightpath on the wavelength.

Returns:
A value prevWavelength >= 0 in case of success, -5 if no RX is available

int common::GroomerNode::scheduleSpecific long  lightpath,
u_int  nextHop,
u_int  prevWavelength
 

Scheduling methods for a lightpath.

This methods tries to see if a wavelength is available. It does not carry out wavlenght conversion at the intermediate node. Needs on wavelength resource

Returns:
the result (wavelength)

int common::GroomerNode::clearSchedule long  lightpath  ) 
 

Remove the specified lightpath.

Parameters:
lightpath The lightpath to be removed
Returns:
The result of the operation.

std::string& common::GroomerNode::toString  )  [virtual]
 

Convert this object's representation to String.

Returns:
A string representation of this object

Reimplemented from common::Node.


Member Data Documentation

TunableTRXArray* common::GroomerNode::_tx [private]
 

Tunable transmitter array.

TunableTRXArray* common::GroomerNode::_rx [private]
 

Tunable receiver array.

u_int common::GroomerNode::_trxCount [private]
 

Number of tunable transmitters and receivers.


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