[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[ns] Re: REPOST: Problems creating tcl object from within c++ class
Hi,
I am still trying to call a tcl object from c++, but I still
haven't got any success at it.
I tried to call tcl.eval(...) but the simulator crashed.
I guess that the tcl object was not properly initialized.
Any sugestions?
Tulius Lima
* error message -----
ns: _o17 send-probe-pkts-to 14 3000 0 4000:
(_o17 cmd line 1)
invoked from within
"_o17 cmd send-probe-pkts-to 14 3000 0 4000"
invoked from within
"catch "$self cmd $args" ret"
(procedure "_o17" line 2)
(SplitObject unknown line 2)
invoked from within
"_o17 send-probe-pkts-to 14 3000 0 4000"
----- error message *
* c++ code ----------
int MPLSAddressClassifier::sendProbePkts(int index)
{
Tcl& tcl = Tcl::instance();
for(int i = 1; i < no_probe_pkts_; i++)
{
char out[100];
// get routing information
// informacao de IDA
int FEC = RT_.Entry_[index].fec_;
int LSPid = RT_.Entry_[index].LSPid_;
// round-trip information
int vFEC = RT_.Entry_[index].vfec_;
int vLSPid = RT_.Entry_[index].vLSPid_;
// Prepare the output to the Tcl interpreter. Calculate the round
// trip time
sprintf(out, "%s send-probe-pkts-to %d %d %d %d",
name(),
FEC,
LSPid,
vFEC,
vLSPid);
tcl.eval(out);
char *result = tcl.result();
if (atoi(result) != 1)
printf("******* erro no tcl.eval(...)");
} // FOR
} // end - sendProbePkts()
----------------- c++ code
* tcl initialization code ---------\
MplsNode instproc te-attach-egress {egress} {
set ns [Simulator instance]
$self instvar ping_
set pong_ [$egress get-ping-agent]
$ns connect $ping_ $pong_
}
----- tcl initialization code-----*