Changes between Version 2 and Version 3 of rpc_implementation


Ignore:
Timestamp:
Jun 1, 2016, 1:43:54 PM (8 years ago)
Author:
alain
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • rpc_implementation

    v2 v3  
    4242 * Le champs '''response''' est un entier qui défini le nombre de réponses attendues.
    4343 * Le champs '''args''' est un tableau de 32 uint32_t contenant les arguments d'entrée et de sortie.
     44Pour 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().
    4445L'utilisation et l'interprétation du tableau '''args''' dépend de chaque type de RPC.
     46
     47Les RPC non-bloquantes ne sont pas implémentées actuellement (juin 2016).
    4548
    4649== 4) Introduction d'une nouvelle RPC ==
     
    5154 * 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.
    5255 * 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