• [^] # Re: J'y crois pas.

    Posté par (site web personnel) . En réponse à la dépêche Un nouveau serveur httpd : Ashd, A Sane HTTP Daemon. Évalué à 1.

    Ben, quand les RFC sont bien écrites, les syntaxes abnf correctes tu peux recoder un protocole en 3 mois avec un bon développeur dans C, C++, java ou ruby .

    Mongrel en est l'exemple :
    http://www.complang.org/ragel/ (j'ai perdu la page web ou le développeur interviewé raconte cette histoire).

    Sa méthodologie de mémoire est :
    - Tu prends un framework orienté evènement (twisted, POE, whatever);
    - Tu prends ragel, tu génères ton automate à état à partir de la norme ;
    - Tu fait de la plomberie pour faire correspondre les états bnf formels aux état du protocole réseau que tu veux, rajouter les conf;
    - Tu écris les hook pour chaque état en transposant calmement les actions décrites dans la RFC ;
    - Tu fais des tests non «unitaires» mais de conformité au protocole, et tu raffines jusqu'à ce que tu atteignes 100% (je parie que c'est la partie la plus longue)

    Il se trouve que ragel génère du donc C tu peux essayer, le résultat devrait être le même qu'avec ruby, juste plus long.

    À titre perso J'ai pas réussi à générer le code pour la norme diameter, on dirait que la syntaxe est incomplète ou non conforme, ou alors qu'il faut peut être que j'apprenne l'info :)