Bounced

Started working on the brevet permissions for chat, got a good way in and then Rick bounced me with the bouncing grenades ‘don’t send me my own grenade’ catch, which turns out to be fundamentally conflicted with the way I marshal and reduce STO data. The upshot is that there’s actually a way for you to see your own grenade STO, but it involves speed hacking :)

Also had to talk to killer about a cellhost issue, wherein I appeared to put us into a loop. Basically our current inter-host communications is a private, unreliable, broadcast network, but the abstaction of the broadcast component is so deep (note, not ‘good’) that the code assumes the transport of the data is reliable. The issue at hand is a repeater that code elsewhere triggers, i.e. something that suddenly spews out a big burst of packets; enough that many of the packets get dropped on the floor – the OS is competing with the repeater for CPU/memory access in order to drain the queue, and generally loses.

And then Codeblocks got locked up by a drag-n-drop bug in either GTK2 or scintilla and I lost all the unsaved code changes I’d been working on. Autosave is one feature of vim I do miss.

4 Comments

Would there be any way to limit either the rate of the packet generation or sending the data? I don’t have to much experience in cluster communication protocols, but there should be a way to put a limit on that.

There is one, unfortunately because the network is unreliable, the result is that the packets just get dropped on the floor silently without ever reaching the network.

People often make the mistake of thinking packetloss is something that happens on the wire. Anyone who’s worked with syslog or read Stephen’s knows better :)

That’s why I asked if you could limit the amount of data generated, so a flooding would never appear. Maybe paket generation was a bit misleading.

No, there’s no feedback mechanism. Any generator has to police itself, because the author figured the worst that could happen was a bit of a backlog or that it would get an error writing the packets – which you don’t because its an unreliable protocol. If there’s no buffer space left for new data, then the data gets dropped at the write() call.

Leave a Reply

Name and email address are required. Your email address will not be published.

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

You may use these HTML tags and attributes:

<a href="" title="" rel=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <pre> <q cite=""> <s> <strike> <strong> 

%d bloggers like this: