RX0023

Domaine: Moteur

Message d'erreur

l'horloge canonique n'a pas avancé : %s

Dans le message, %s marque une valeur que le moteur remplit au moment où il lève l'erreur.

L'histoire

Le moteur vous signale quelque chose d'inhabituel : l'horloge n'a pas avancé entre deux écritures. Et ce n'est pas votre faute. Rappelons le principe. Dans rush, la valeur courante d'un nom, c'est sa version la plus récente, celle dont l'horodatage est le plus élevé. Pour que cette lecture ait un sens, deux versions d'un même nom ne doivent jamais porter la même date. L'horloge canonique, tictac, est conçue pour cela : elle prend le maximum entre l'heure réelle en nanosecondes et la dernière valeur plus un, donc deux écritures dans le même battement restent distinguées. Si malgré tout une écriture reçoit une date qui n'est pas strictement postérieure, c'est que l'horloge a rompu son propre contrat. Le moteur pourrait inventer un départage, par exemple un petit coup de pouce arbitraire. Il refuse, parce que seule l'horloge a le droit de répondre à la question de l'ordre, et un ordre inventé rendrait le sélecteur de la loi mensonger. Le message précise ce qui a été observé. Si vous voyez ce refus, ne cherchez pas dans votre script : examinez l'horloge de la machine ou signalez le défaut de tictac.

Texte issu du catalogue d'erreurs du moteur Rush.