2011-06-23 5 views
1

Ainsi est une question assez basique, mais je suis nouveau à Twisted. Si la boucle du réacteur rencontre 2 callLaters pour la même valeur de timeout et rencontre un paquet entrant, comment va-t-il programmer le 3?Event Scheduling dans Twisted

Répondre

3

Les callLaters se déclencheraient dans l'ordre dans lequel vous les avez enregistrés. L'arrivée des paquets pourrait se déclencher avant ou après le callLaters en fonction du point d'exécution dans la boucle d'événement à l'arrivée du paquet.

3

Il n'y a pas de règle définitive ici. Différents réacteurs peuvent mettre en œuvre différentes stratégies. En général, ces implémentations sont quelque peu ad-hoc et pas particulièrement bien conçues, mais il n'y a pas beaucoup de motivation pour les résoudre, car la plupart des applications avec des dépendances profondes sur les différentes sources d'événements sont en fait buggées. attention à l'ordre dans lequel arrivent ces événements fondamentalement non déterministes.