Changes between Version 2 and Version 3 of rpc_implementation
- Timestamp:
- Jun 1, 2016, 1:43:54 PM (9 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
rpc_implementation
v2 v3 42 42 * Le champs '''response''' est un entier qui défini le nombre de réponses attendues. 43 43 * Le champs '''args''' est un tableau de 32 uint32_t contenant les arguments d'entrée et de sortie. 44 Pour une RPC bloquante, le client initialise le champs '''response''' avec le nombre de réponses attendus, et chaque serveur concerné le décrémente au moyen d'un accès ''remote_atomique_add(). 44 45 L'utilisation et l'interprétation du tableau '''args''' dépend de chaque type de RPC. 46 47 Les RPC non-bloquantes ne sont pas implémentées actuellement (juin 2016). 45 48 46 49 == 4) Introduction d'une nouvelle RPC == … … 51 54 * Il faut écrire explicitement la fonction de marshaling ''rpc_my_kernel_service_client()'' qui est exécutée du côté client pour (1) enregistrer les arguments d'entrée dans le descripteur de RPC, (2) poster la RPC dans la RPC_FIFO, (3) récupérer les arguments de sortie dans le descripteur de RPC. 52 55 * Il faut écrire explicitement a fonction de marshaling ''rpc_my_kernel_service_server()'' qui est exécutée du côté serveur pour (1) récupérer les arguments d'entrée dans le descripteur de RPC, (2) appeler la fonction ''my_kernel_service()'', (3) écrire les arguments de sortie dans le descripteur de RPC. 53