Messages sent out of order
Closed this issue · 5 comments
Sometimes messages are received in a different order than sent. I don't know if it's intentionally reproducible, but I can see messages I've sent in one order in my IRC client and in another order in my actual Steam client. The recipient reported seeing them in the order that matched my Steam client.
I'd guess this probably isn't a problem in bitlbee-steam itself, but I don't really know. Does sending a message open up a new connection to the web API?
I haven't noticed this issue myself, is it only with a flood of messages? The plugin already queues the messages, and sends them in order. That said, I am not sure what else we can do.
I only sent two messages in the case I noticed it. They were very short with about 2s between them (IRC timestamps of X seconds and X+2 seconds). If the messages are sent over different TCP streams, I guess they could just arrive out of order. That's why I asked about different connections.
It's all HTTP based, so yes, different TCP connections. However, we wait for a reply from Steam before we send the next message in the queue.
So it turns out, I am looking over the code as I implement something similar in bitlbee-facebook, and spot a logic error. I go ahead and test this again, and sure enough things are broken in bitlbee-steam. This must have regressed somewhere down the line. It is a simple fix, though.