Friday, February 10, 2017

Deletes and Synchronization

After some reflection, I have made the following decisions:

  • Deletes, in the case of users, topics and subscriptions, cause the status of the object to be changed.  Later on, they are garbage collected.
  • In the case of nodes, Miranda shall track the time of last connection.  If a long enough period of time goes by without a connect, the node is dropped.
  • In the case of nodes, users, topics and subscriptions, a synchronization involves merging the list of objects with the remote list.
  • Objects marked for deletion are not merged.
  • Messages and deliveries are never deleted, but may be garbage collected.
So when a new node connects, Miranda merges its lists of nodes, users, topics and subscriptions with the new node.

The garbage collection period and the amount of time to wait before throwing away old node, users, topics and subscriptions is configurable.

No comments:

Post a Comment