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

Re: [ns] error using TCP/Sack1 agent



Sally,

innocent/stupid proposed-modification question here. 

Would it be feasible to set the scoreboard on a per-agent basis from a
bound variable whose current value is then copied into a local
variable established in an explicit scoreboard constructor called when
the Agent object is created, which is used to create the array? I
believe that this could support something along the lines of:

Agent/TCP/Sack1 set scoreboardsize_ 10000
# we know that this is going to be one busy agent
set SackInstance1 [new Agent/TCP/Sack1]

Agent/TCP/Fack set scoreboardsize_ 100
# and we know that this isn't
set FackInstance1 [new Agent/TCP/Fack]

etc, while e.g.:
$SackInstance1 set scoreboardsize_ 2000
would have no effect after the fact.

I keep thinking that skanky C #define macros should be replaced with
C++ consts where possible[*] and with bound variables when it's
convenient/useful/beneficial[*] - and this seems like a case of the
latter. You'd still have SBNI as a slightly different macro for
convenience...

L.

[*] probably a lot of places.
    but, hey, what do I know?
    I know that I can't code.

<[email protected]>PGP<http://www.ee.surrey.ac.uk/Personal/L.Wood/>

On Thu, 16 Mar 2000, Sally Floyd wrote:

> Date: Thu, 16 Mar 2000 12:23:59 -0800
> From: Sally Floyd <[email protected]>
> To: [email protected]
> Cc: ns <[email protected]>
> Subject: Re: [ns] error using TCP/Sack1 agent
> 
> >I am trying to use
> >
> >set tcp1 [new Agent/TCP/Sack1]
> >
> >
> >and when i run my script , I get
> >
> >Error, scoreboard too large
> 
> That error message usually means that you have to change the line
>   #define SBSIZE 1024
> in scoreboard.h to something larger, e.g., I currently have mine set to:
>   #define SBSIZE 10000
> 
> This increases the size of the "scoreboard", the data structure used
> by the TCP SACK sender to keep track of what data has and has
> not been acknowledged.
> 
> - Sally