[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

ns problem



May I ask a basic question?

 How to add a new class object(no matter C++ fomat or Tcl format)

 The following is my adding steps.

 (1). the creation  of C++ class:

  I edit a tsw.cc and tsw.h , add "tsw.o" to Makefile, and  compiled ok.




------------------------------------------------------------------------------------



 static class TSWClass : public TclClass {
  public:
         TSWClass() : TclClass("TSW") {}
          TclObject* create(int, const char*const*) {
                  return (new TSW());
          }
  }class_TSW;
  (in tsw.cc)


------------------------------------------------------------------------------------





  class TSW : public Connector {
  public:
          TSW();
         int command(int argc, const char*const* argv);
  protected:
                          :
                          :
  }
  (in tsw.h)

------------------------------------------------------------------------------------





 (2). used by Tcl scripts:

 I edit a tcl script include create this object ( "set tsw_ [new TSW]"
in
 rr.tcl).

 (3). error
  ns return the error message of tcl script(rr.tcl)


------------------------------------------------------------------------------------



 [~/ns2/ns-2/tcl/test#]ns rr.tcl
 invalid command name "TSW"
     while executing
 "Tsw create _o72 "
     invoked from within
 "catch "$className create $o $args" msg"
     (procedure "new" line 3)
     invoked from within
 "new Tsw"
     (procedure "_o3" line 9)
     (Simulator duplex-rio_tsw-link line 9)
    invoked from within
 "$ns duplex-rio_tsw-link $n(2) $n(3) 5Mb 2ms"
     (file "rr.tcl" line 44)
 [~/ns2/ns-2/tcl/test#]

------------------------------------------------------------------------------------



 It cannot find the new object.I think there should be some other steps
 beteen (1) and (2).

 Whould you please tell me the correct adding steps.

 Thanks a lot.

 ps: I have already read the Greis's tutorial and ns documentation
 chapter 8.
 They are talking about Agent and Packet adding and I have imitated
their
 adding
 steps .It still does not work.

 Is it possible to add a new class in ns.(not agent or packet)






                Richard Liu