A unique concept of Mles is its message history where some of the previous messages are saven in-memory by the Mles server and sent to a client after connection establishment. This allows clients to be implemented without any persistent storage as long as they can handle message duplicates during reconnects.
With peer networking, the message history handling gets trickier as downstream peer nodes may flush upstream higher hierarchy nodes’ message history by sending their own history during reconnection. Thus, with Mles v1 the history is not sent upstream at all. This may mean lost messages between clients.
With Mles v2 we can improve the design by having message sequence numbering between peers. Combined with unique nodeid, the receiving peer can identify already seen and forwarded messages and not forward duplicates if the history is sent after reconnect. The mechanism can be easily added to peer message headers. It will save a lot of processing in the network as a whole and avoid lost messages. Nice!
The plan is the sequence numbering will be introduced together with the peering feature. If you have ideas how to improve it even further, please do comment. Cheers!