diff options
author | Cyrille Bagard <nocbos@gmail.com> | 2014-08-18 21:55:24 (GMT) |
---|---|---|
committer | Cyrille Bagard <nocbos@gmail.com> | 2014-08-18 21:55:24 (GMT) |
commit | a0a7b6c1e05c78ae433f353d15e3366107b67d03 (patch) | |
tree | bca0b187778cf016c6131bfc982b08c67a38442b /src/analysis/db/protocol.h | |
parent | 161c0f8ab227af5033b1b6456607b9b9c3bc60df (diff) |
Inserted storages and collections into loaded binaries (first steps).
git-svn-id: svn://svn.gna.org/svn/chrysalide/trunk@389 abbe820e-26c8-41b2-8c08-b7b2b41f8b0a
Diffstat (limited to 'src/analysis/db/protocol.h')
-rw-r--r-- | src/analysis/db/protocol.h | 101 |
1 files changed, 89 insertions, 12 deletions
diff --git a/src/analysis/db/protocol.h b/src/analysis/db/protocol.h index b1cdfaf..05b559e 100644 --- a/src/analysis/db/protocol.h +++ b/src/analysis/db/protocol.h @@ -27,10 +27,12 @@ /** - * Nombre maximal de connexions à un serveur. - * cf. listen(). + * Version de la définition courante du protocole. */ -#define CDB_SEVER_BACKLOG 100 +#define CDB_PROTOCOL_VERSION 0xc0de0001 + + + /** * Délai maximal de réaction pour les coupures de flux (en ms). @@ -41,27 +43,102 @@ -/* Fonctionnalités offertes */ +/* Comportement vis à vis des éléments */ +typedef enum _DBStorage +{ + DBS_ALL_LOCAL = 0x01, /* Enregistrements locaux */ + DBS_ALL_REMOTE = 0x02, /* Enregistrements distants */ + DBS_LOCAL_AND_REMOTE = 0x03, /* Enreg. locaux + infos dists.*/ + + DBS_MAX = 3 + +} DBStorage; + + + + + + + + + + + + +/** + * Une fois la connexion établie, les paquets ont tous la forme suivante : + + + + + + * + * [ type de collection visée ; cf. DBFeatures ] + * [ action à mener ; cf. DBAction ] + * [ élément de type GDbItem sérialisé... ] + * + */ + +/* Fonctionnalités offertes nativement */ typedef enum _DBFeatures { + DBF_BOOKMARKS, /* Signets dans le code */ DBF_COMMENTS, /* Commentaires ajoutés */ DBF_SEGMENTS_DISPLAY, /* Choix d'affichage */ - DBF_BOOKMARKS, /* Signets dans le code */ DBF_COUNT } DBFeatures; -/* Comportement vis à vis des éléments */ -typedef enum _DBStorage +/* Interactions disponibles vis à vis d'une collection. */ +typedef enum _DBAction { - DBS_ALL_LOCAL = 0x01, /* Enregistrements locaux */ - DBS_ALL_REMOTE = 0x02, /* Enregistrements distants */ - DBS_LOCAL_AND_REMOTE = 0x03, /* Enreg. locaux + infos dists.*/ + DBA_ADD_ITEM, /* Ajout d'un élément */ + DBA_REM_ITEM, /* Suppression d'un élément */ + DBA_MOD_ITEM, /* Modification de l'existant */ + + DBA_COUNT + +} DBAction; + + + + + + +/** + * Commandes envoyées d'un côté à un autre. + */ +typedef enum _DBCommand +{ + DBC_HELO, /* Connexion initiale C -> S */ + DBC_WELCOME, /* Réponse initiale S -> C */ + DBC_COLLECTION, /* Implication d'une collection*/ + + DBC_COUNT + +} DBCommand; + + + + + + + +/** + * Erreurs pouvant survenir... + */ +typedef enum _DBError +{ + DBE_NONE, /* Succès d'une opération */ + DBE_WRONG_VERSION, /* Proto Client != Serveur */ + + DBE_COUNT + +} DBError; + - DBS_MAX = 3 -} DBStorage; |