Windows CCAPI design sketch

Danny Mayer mayer at ntp.isc.org
Thu Dec 27 17:41:33 EST 2007


Kevin Koch wrote:
> Danny --
> 
> Thanks for your questions.  I'll update the document.  But that might not
> happen for a while, so here are some quick answers:
> 
> 1) The CCAPI client and server run on the same Windows PC.  The build
> environment is VS2005.  So a time_t is 64 bits.
> 

No, you cannot leave it to the compiler since you are communicating
between processes. You *must* define it by the number of bits or someone
will compile some parts with one compiler and other parts with a
different compiler. All RPC calls and remote protocols needs to have
this clearly spelled out for interoperability reasons.

> 2) As stated in the Design Requirements section, the OS-independent part of
> the CCAPI server is single threaded.  I need to clarify that only the
> Windows-specific part is multi-threaded.  The multiple threads have to do
> with the RPC connections.
> 

Those parts with Windows-specific code can be multithreaded provided
that the design is such that a lock is taken out and release when going
into single-threaded code that modifies variables as a result. That,
actually can be the hardest part of the design.

> 3) What happens when A takes out a lock and goes away is the 4th design
> requirement:  the server must figure it out and clean up.
> 

Since the client is on the same machine, you can just get the process
handle and have it signal when the process goes away.

Danny



More information about the kfwdev mailing list