Changes between Version 46 and Version 47 of rpc_implementation


Ignore:
Timestamp:
Oct 4, 2019, 11:53:04 AM (4 years ago)
Author:
alain
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • rpc_implementation

    v46 v47  
    56561. blocks and deschedule, waiting to be re-activated by the server thread when the server completed the requested service.
    5757
    58 For each RPC service type XYZ, ALMOS-MKH defines a specific ''rpc_xyz_client()'' function that performs the 3 first tasks, and calls the generic ''rpc_send()'' function to perform the three last tasks.
     58For each RPC service type XYZ, ALMOS-MKH defines a specific ''rpc_xyz_client()'' function that performs the 3 first tasks, and calls the generic ''rpc_send()'' function in ''blocking" mode to perform the three last tasks.
    5959
    6060On the server side, a  kernel RPC thread is activated at the next scheduling point on the selected server core, as soon as the RPC_FIFO is non-empty. This server thread executes the following tasks:
     
    81811. blocks and deschedule, waiting to be re-activated by the last server thread when it completed the requested service.
    8282
    83 The tasks 4 and 5 can be done, for each target server, by the generic ''rpc_send()'' function.
     83The client thread calls the  generic ''rpc_send()'' function in ''non-blocking'' mode  to perform tasks 4 and 5.
     84When the RPC "in" arguments values are equal for all target clusters, and there is  no ''out'' arguments, it is possible to save memory on the client side, and use an unique, shared, RPC descriptor.
    8485
    85 When the RPC "in" arguments values are equal for all target clusters, and there is  no ''out'' arguments, it is possible to save memory on the client side, and use an unique, shared, RPC descriptor.
     86The behavior on the server side is not modified for a parallel RPC.
    8687
    8788== 6) Pool of RPC servers ==