*BSD News Article 41580


Return to BSD News archive

Path: sserve!newshost.anu.edu.au!harbinger.cc.monash.edu.au!msunews!caen!hookup!swrinde!pipex!uunet!zib-berlin.de!ceres.fokus.gmd.de!nntp.gmd.de!news.rwth-aachen.de!news.rhrz.uni-bonn.de!olymp.informatik.uni-bonn.de!zeus.informatik.uni-bonn.de!herzig
From: herzig@zeus.informatik.uni-bonn.de (Birgit Herzig)
Newsgroups: comp.os.386bsd.development
Subject: doing buffered RPC via clnt_call: how to do a buffer flush?
Date: 25 Jan 1995 22:14:17 GMT
Organization: Universit"at Bonn, Informatik Abt. II, R"omerstr. 164, 53117 Bonn
Lines: 33
Message-ID: <3g6ifp$8a6@olymp.informatik.uni-bonn.de>
NNTP-Posting-Host: zeus.informatik.uni-bonn.de
X-Newsreader: TIN [version 1.2 PL2]

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.

Please send answers to herzig@athene.informatik.uni-bonn.de.
Many thanks.

-- Birgit