diff options
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; |