Re: Unnecessary Frame Fragmentation using beepcore-c?

Darren New <[email protected]> Tue, 16 Sep 2003 19:19:59 -0700
Newsgroups gmane.network.beep.beepcore.c.general
Message-ID <[email protected]>
David C Niemi wrote:
> Indeed, being able to determine what one's peer's window size is Right Now
> would do the trick.  An alternative would be to have more flexibility
> built into send_chunk(), being able to tell it NEVER_FRAGMENT vs
> AVOID_FRAGMENT vs SEND_IMMEDIATELY (the current behavior and presumably 
> the default).  Although I suppose BEEP.c wouldn't much enjoy implementing 
> the latter, as it doesn't want to block waiting for the window to open up 
> wider; perhaps instead it could return a EWOULDFRAGMENT error in that 
> case.

Making it not fragment frames wouldn't be too hard. There's a routine 
that looks for the next frame to send, and you'd just have it say "Nope, 
not this one" if you have the flag set. I can't say I'm 100% sure what 
"NEVER_FRAGMENT" vs "AVOID_FRAGMENT" difference is.

I'd be leary of adding flags like this, tho, as they'd clearly make for 
interop problems. Something a bit more robust in a wider range of cases 
(like, not talking to BEEP.c) would be better. But then you'd have to 
start dealing with timers and things like that, since I doubt you'd want 
to completely stop sending if the receiver reduced its window size, for 
example, and thus never got back to where you thought it should be.

-- 
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