Fork me on GitHub
… ou une occasion d’apprendre

TServer 0.2.0

Posté le 11 octobre 2007 à 19:42

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.

Articles relatifs





2 Responses to “TServer 0.2.0”

  1. Yoan Blanc

    Pas très utile tout ça si tu fermes l’accès à Trac/SVN.

  2. Yann Lugrin

    Oups, petite erreur de config. C’est à nouveau accessible.

Envoyer une réponse

Ce site supporte OpenID, vous pouvez vous authentifier en entrant votre identité dans le champ adéquat mais ceci n'est pas obligatoire.

Si vous ne vous authentifiez pas avec OpenID le nom et l'email sont requis. Si vous vous authentifiez pour la première fois, les renseigner permet de vous assurer des informations qui seront associées à votre profile (si il existe déjà elles seront mises à jour).