tsp-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re : RE : [Tsp-devel] Nouvelle API dans tsp_consummer.h


From: eric.noulard
Subject: Re : RE : [Tsp-devel] Nouvelle API dans tsp_consummer.h
Date: Thu, 6 Oct 2005 10:47:47 +0100

>Date: jeu. 06/10/2005 09:05
>À: Devel TSP
>Objet : RE : [Tsp-devel] Nouvelle API dans tsp_consummer.h
 
>Une remarque :
>Passer une string pour faire un genre de filtre dans la liste des variables
>me plait bien.
>Surtout qu'un filtre du genre "*TOTO*" qui rends tous les symbols dont le
>nom contient la chaine "TOTO" est simple à faire.

>Par contre passer une string "minimal" ou "minimal+" me parait dommage,
>surtout si un jour on veut demander un tous les symbols qui contiennent
>"minimal" dans leur nom.

>Je preferais presque un champs en + genre enum ( NOM_PROVIDER,
>FREQ_PROVIDER, NB_SYMB, REGEXP, ...) qui donne la maniere de comprendre la
>string passé en parametre. Ou alors une fonction differente qui donne le
>nombre et la frequence.

En fait j'en ai dit que la moitié et je suis d'accord
dans mon esprit la string aura un prefixe qui indiquera 'le type du filtre'
genre:

simple://minimal
simple://minimal+

mais aussi (plus tard)

regex://.*toto.*
sql://SELECT * FROM symbols WHERE PGI > 23 AND TYPE = 'double';
pgirange://..500 
pgirange://53..102
xpath://<une_belle expression xpath>

etc...
[on pourrait vérifier avec TSP_request_feature le type de filtre
 supporté par le provider]

Dans TOUS les cas la réponse (valeur de retour de l'appel RPC) sera une 
TSP_answer_sample_t qui contiendra les infos demandées, le reste étant 
éventuellement positionné à des valeurs non significatives.
Pour rappel la structure TSP_answer_sample actuelle:

struct TSP_answer_sample_t
{
        int version_id;
        unsigned int channel_id;

        int provider_timeout;
        int provider_group_number;
        TSP_sample_symbol_info_list_t symbols;
        double base_frequency;
        int max_period; 
        int max_client_number; 
        int current_client_number; 
        TSP_status_t status;            

        /*unsigned int feature_words[4]; FIXME*/
        /* TSP_endianity_t data_endianity; FIXME : implementer */


};

Mon idée est de limiter au maximum le nombre de structure et de fonctions
qui traverse le réseau.

Est-ce que ça te va Yves?
Et les autres votre avis?

Eric







reply via email to

[Prev in Thread] Current Thread [Next in Thread]