doing buffered RPC via clnt_call: how to do a buffer flush?

doing buffered RPC via clnt_call: how to do a buffer flush?

Post by Birgit Herz » Fri, 27 Jan 1995 07:07:22



Hi,

   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.

My question:

  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.


Many thanks.

-- Birgit