at the university I am trying to write a fast client/server application
using RPC (tcp mode).
For this I am trying to force RPC to buffer RPC calls which do not need a return
value locally at the client. This should greatly increase the speed of
my application as I do not have to wait for the servers response at every call.
I have figured out to use the buffered clnt_call
(see RPCs clnt_tcp.c:
* TCP based RPC supports 'batched calls'.
* A sequence of calls may be batched-up in a send buffer. The rpc call
* return immediately to the client even though the call was not necessaril
* sent. The batching occurs if the results' xdr routine is NULL (0) AND
* the rpc timeout value is zero (see clnt.h, rpc).
This buffers the RPC locally at the client, but seem not send the RPC call
to the server regulary.
How do I force RPC to send the buffer contents from the client to the server?
(how do I flush the buffer).
Any hint is appreciated.