Say you have a process that is connected to two or more different IRC servers running on the same network, and you want to aggrigate events on both servers into a single stream.
Due to latency within the network, events may arrive from both servers in different order and at different times. The events look identical in how they arrive, and may be identical to simmilar events occuring at another time (eg, a user joins, parts and re-joins, producing two identical join events).
How do you reconcile the streams?
I'm not super familiar with IRC... what do you have as data within the event? Do you have any sort of timestamp? (even if it is specific to that server?)
IE can you construct with certainty the order that a particular server saw events even if their arriving to you in a different way? Because you may be able to e.g. handle the identical/recurring events issue by looking at a few more items in the sequence