TServer 0.2.0
TServer est une librairie en Ruby permettant d’implémenter un serveur multi-thread, c’est une alternative à GServer de la librairie standard.
J’ai sorti la version 0.2.0 aujourd’hui, voici les nouveautés :
- Utilisation de la class ‘Logger’ pour le système de log (la sortie standard est utilisé par défaut, mais lors des tests un fichier de log est utilisé).
- Ajout de callbacks lors des événements.
- Ajout d’une tâche ‘server’ au Rakefile afin de lancer le serveur d’exemple.
- Plurialisation du nom des méthodes ‘Tserver.listeners’ et ‘TServer.waiting_listeners’.
- Une méthode ‘reload’ a été ajouté afin de permettre de redémarrer le serveur sans coupure du service.
- ‘TServer.process’ ne prend plus d’argument et les méthodes suivantes sont maintenant disponibles : ‘TServer.connection’, ‘TServer.connection_addr’ et ‘TServer.terminate_listener?’.
- Un certain nombre de corrections ont étés faites et les tests améliorés.
Les sources et un gem sont disponibles depuis le trac du projet, j’espère pouvoir ajouter le gem à rubyforge bientôt.
Le serveur fonctionne bien, bien que je ne l’ai pas encore testé dans des conditions réels. Je pense que je devrais faire une class pour les Listener, ceci permettrais d’être plus facilement « thread safe » en plus d’un certain nombre davantage pour l’implémentation je pense. Par contre, j’ai de la peine à évaluer les incidences sur les performances. Ce changement serais important, je vais y réfléchir et décider si je prends cette option dans le but de sortir une version 1.0.
Naturellement tout commentaire est le bienvenu.
