[Vortex] Is vortex assuming that msg numbers on channels start at 1 and increase by 1/
Robert M. Münch
robert.muench at robertmuench.de
Sun Nov 23 09:38:40 CET 2008
Am 23.11.2008, 01:03 Uhr, schrieb Sam Roberts <vieuxtech at gmail.com>:
> No message ordering was defined in the standard. There doesn't have to
> be any order. And, of course, even if you just increment msg numbers
> by 1 they will wrap down to zero if you send enough of them.
>
> FYI, rfc3080:
>
> The message number ("msgno") must be a non-negative integer (in the
> range 0..2147483647) and have a different value than all other "MSG"
> messages on the same channel for which a reply has not been
> completely received.
Hi, ok, thinking a bit longer about it, I see a good reason now:
If msgno are reused this means that there can be around 2^32-1 outstanding messages per channel. Reusing msgno would avoid the wrapping problem completely. Because msgno no longer would be a counter instead it would be a reference to outstanding replys.
Implementing the whole stuff via bit-fields per channel could be an efficient implementation. And making that bit-field dynamicly grow/shrink can avoid that to much memory is alloacted without being used.
> I suspect you only use vortex to talk to vortex, so fixing this might
> have no value to you.
Correct.
> I use multiple toolkits, and it looks like this vortex assumption has
> caused interop failure with two other implementations recently, so its
> not "subtle".
Ok, I see. BTW: What other BEEP toolkits do you use? What's the main difference to vortex?
--
Robert M. Münch
Mobile: +49 (177) 245 2802
http://www.robertmuench.de
More information about the Vortex
mailing list