17:19 |
awt |
asciilifeform: I found that it's necessary to check the long buffer while processing messages in the short buffer - after an order buffer dump all the immediate messages will be displayed and interned and the hearsay versions go into the short buffer. Most of these will be dupes. |
17:27 |
awt |
Specifically the "normal" algo breaks because immediate messages may come out of the order buffer *before* hearsay messages, thus there's nothing to remove from the short buffer. Message gets interned/displayed, then the hearsay version comes out of the order buffer. |
17:28 |
awt |
Alternatively could order the messages coming out of the order buffer such that hearsay versions all come out before immediate versions. |
17:29 |
awt |
Alternatively, could not add hearsay messages to the order buffer if there's already an immediate copy in the order buffer. |