diff options
author | Cyrille Bagard <nocbos@gmail.com> | 2018-12-17 19:00:29 (GMT) |
---|---|---|
committer | Cyrille Bagard <nocbos@gmail.com> | 2018-12-17 19:00:29 (GMT) |
commit | 706710aef28a0af4bb8aa343c2631a2139d00955 (patch) | |
tree | 08be7ab2f974bdc3dab6ecde426c069adb4e077b /src/analysis/db/protocol.h | |
parent | 97fa09113c7988e4b4639190ba9bc51f9ced4d33 (diff) |
Updated the connection protocol.
Diffstat (limited to 'src/analysis/db/protocol.h')
-rw-r--r-- | src/analysis/db/protocol.h | 41 |
1 files changed, 33 insertions, 8 deletions
diff --git a/src/analysis/db/protocol.h b/src/analysis/db/protocol.h index 025f92f..311a691 100644 --- a/src/analysis/db/protocol.h +++ b/src/analysis/db/protocol.h @@ -117,22 +117,50 @@ typedef enum _DBCommand DBC_SAVE, /* Enregistrement de l'archive */ DBC_COLLECTION, /* Implication d'une collection*/ + /** + * Gestion de la commande 'DBC_[GS]ET_ALL_ITEMS'. + * + * Un client qui se connecte à un serveur doit en premier lieu envoyer : + * + * [ Demande de mise à jour : DBC_GET_ALL_ITEMS ] + * + * Tant qu'il ne reçoit pas la commande DBC_SET_ALL_ITEMS depuis le + * serveur, toutes les actions sur une collection sont à rejeter car elles + * lui seront retransmises plus tard. + * + * De son côté, le serveur répond par une requête : + * + * [ Notification de maj : DBC_SET_ALL_ITEMS ] + * + * Dans la foulée, il enverra ensuite les éléments avec des paquets classiques : + * + * [ Traitement de collection : DBC_COLLECTION ] + * [ Action : DBA_ADD_ITEM ] + * ... + * + * Les traitements se réalisent dans : + * - g_db_client_update() pour la partie client. + * - g_cdb_archive_process() pour la partie serveur. + * + */ + DBC_GET_ALL_ITEMS, /* Mise à jour à la connexion */ + DBC_SET_ALL_ITEMS, /* Mise à jour à la connexion */ /** * Gestion de la commande 'DBC_SET_LAST_ACTIVE'. * * Le client connecté envoie un paquet de la forme suivante : * - * [ Statut d'historique : DBC_SET_LAST_ACTIVE ] - * [ <horodatage du dernier élément actif ] + * [ Statut d'historique : DBC_SET_LAST_ACTIVE ] + * [ <horodatage du dernier élément actif ] * * Le serveur s'exécute et notifie le client d'éventuels changements, * avec une série de paquets de la forme : * - * [ Traitement de collection : DBC_COLLECTION ] - * [ Action : DBC_SET_LAST_ACTIVE ] - * [ <élément dont le statut a évolué> ] + * [ Traitement de collection : DBC_COLLECTION ] + * [ Action : DBC_SET_LAST_ACTIVE ] + * [ <élément dont le statut a évolué> ] * * Les traitements se réalisent dans : * - g_db_collection_set_last_active() pour la partie serveur. @@ -142,9 +170,6 @@ typedef enum _DBCommand DBC_SET_LAST_ACTIVE, /* Définition du dernier actif */ - - - DBC_COUNT } DBCommand; |