[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: TCP/Fack
On Mon, 07 Dec 1998 16:56:59 EST, Jitendra Padhye wrote:
>Hi,
>
>I am trying to simulate a simple FTP transfer between two nodes using
>TCP/Fack. I can not get it to work: the problem seems to be that the variable
>"t_seqno_" is not being initialized correctly:
>
>FackTcpAgent::FackTcpAgent() : wintrim_(0), wintrimmult_(.5),
> rampdown_(0), fack_(-1), retran_data_(0), ss_div4_(0)
>{
> bind_bool("ss-div4_", &ss_div4_);
> bind_bool("rampdown_", &rampdown_);
> printf ("here1 %d\n", t_seqno_); fflush(stdout);
>}
>
>During execution, ns printed:
>
>here1 268573520
>
>Even if I try:
>
>TcpAgent::FackTcpAgent() : wintrim_(0), wintrimmult_(.5),
> rampdown_(0), fack_(-1), retran_data_(0), ss_div4_(0)
>{
> bind_bool("ss-div4_", &ss_div4_);
> bind_bool("rampdown_", &rampdown_);
> t_seqno_ = 0 ;
> printf ("here2 %d\n", t_seqno_); fflush(stdout);
>}
>
>I get:
>
>here2 393216
(1) Bound variables are supposed to be initialized from TclCL.
This initilaization happens after the C++ construtor is called.
(The code is in ns-default.tcl.)
(Thus putting rampdown_(0) in this constructor is misleading since the
code in ns-default takes precidence.)
(2) Also, t_seqno_ is of type TracedInt.
It seems possible that the printf() is not correctly converting it to
an int. Trying
printf ("here2 %d\n", int(t_seqno_));
(But this code would have to go somewhere other than the constructor
for the reason given in (1).)
-John