-class SGLink{
-
- public:
- SGLink(int id, SGNode* left, SGNode* right);
- ~SGLink();
-
- //for a temporary link set, that is, a link has at most two neibours.
- SGLink* left_link();
- SGLink* right_link();
-
-
- SGNode* left_node();
- SGNode* right_node();
-
- bool is_inleft(SGLink*);
- bool is_inright(SGLink*);
-
- void add_left_link(SGLink*, int side);
- void add_right_link(SGLink*, int side);
-
- int id(){return ID_;};
-
- void print();
-
- private:
+class GTNETS_Link {
+
+public:
+ GTNETS_Link();
+ GTNETS_Link(int id);
+ GTNETS_Link(const GTNETS_Link &);
+ ~GTNETS_Link();
+
+ GTNETS_Node *src_node();
+ GTNETS_Node *dst_node();
+ int peer_node(int);
+ int id() {
+ return ID_;
+ };
+ void print_link_status();
+ int add_src(GTNETS_Node *);
+ int add_dst(GTNETS_Node *);
+ bool route_exists();
+
+private: