On Tue, May 09, 2006 at 06:00:36PM -0400, David Yip wrote:
Something else about Inkboard's sending behavior: Inkboard aggregates as many of these serialized XML::Events as possible into one XMPP message of some pre-determined length, and then send that out. (The code that handles that is in jabber_whiteboard/message-aggregator.cpp.)
The rationale for that behavior was as follows: the current version of Inkboard checks for new messages using a signal that is triggered every 10ms or so. Having many small messages with one event each means that we spend only a little bit of time processing events and most of the time sitting around waiting for the trigger to fire again; having many events in one message allows us to do more work in fewer timer events.
The maximum size for an aggregate event is fixed at 16 kB. This was originally supposed to be set by Inkboard probing the Jabber server for its limits, but I never got around to implementing that.
I don't know if this is contributing to the MUC death, but it seems relevant.
For what it's worth, when doing just small/medium sized changes, the behavior and performance was impressively good; almost like like being right there with the other person. It was only when really stressing it with big changes that we started noticing the weird issues.
I was very impressed by how much inkboard has improved since the last time I played with it.
Bryce