Re: Unnecessary Frame Fragmentation using beepcore-c?

Darren New <[email protected]> Thu, 18 Sep 2003 08:12:24 -0700
Newsgroups gmane.network.beep.beepcore.c.general
Message-ID <[email protected]>
Marshall Rose wrote:

 > the 4k number is the *minimum* guaranteed when a channel starts. it's
 > neither fixed nor an upper-bound...


Nore is it in beepcore-c. It's just that the core itself doesn't modify 
it unless the application requests that.

 >> What would you suggest would be the proper solution to Silly Window 
Syndrome?
 >
 >
 > timers in the internals, plus a flush call in the api...


That's pretty much what we're discussing how to do, yes. We're figuring 
out what needs to be exposed so the application (i.e., wrapper) can 
delay, and then determine if the buffer is empty, so you'd get a kind of 
flush API. But that's outside the core of beepcore-c, and up to the 
wrapper to implement. We're discussing what parts of the core have to be 
exposed to the wrapper to let the wrapper do such a thing.

 > if you look at the uIP code (a tiny tcp stack), that's probably a far
 > better model that what beepcore-c uses now: virtually no
 > os-dependencies, and a well-defined api saying how an application has to
 > behave in order for the state machine to run...


Then the other possibility is to put a "don't fragment" flag in beepcore 
such that if the leading frame to be sent won't fit in the window, the 
core will just return without sending anything, which is basically what 
uIP does. Sounds like an interop nightmare when you start getting 
complex protocols with multiple channels and limited buffer space to not 
deadlock, but if you're in control of the source code for both sides, it 
could be a win, sure. That too should be easy to implement.

If you put this flag in, you wouldn't need timers, you'd just wait for 
the remote side to trigger the sending by sending you a SEQ with a 
sufficiently big window. uIP only uses the timers to trigger 
retransmits, not to control anything to do with fragmentation.

-- 
Darren New, San Diego CA USA (PST)
Don't take home left-over tripe.
   It'll just digest itself before
     you get around to eating it.






-------------------------------------------------------
This sf.net email is sponsored by:ThinkGeek
Welcome to geek heaven.
http://thinkgeek.com/sf