[Openais] README.devmap updated: learn how to develop a service for openais

Steven Dake sdake at mvista.com
Thu Jul 8 14:22:04 PDT 2004


On Thu, 2004-07-08 at 14:10, Mark Haverkamp wrote:
> On Thu, 2004-07-08 at 12:47, Steven Dake wrote:
> > Several people have asked me, just how to add a service to openais.  I
> > have documented this process in the README.devmap file in the source
> > tree in bk.
> > 
> > It is also available from:
> > 
> > http://developer.osdl.org/dev/openais/src/README.devmap
> > 
> > Thanks
> > -steve
> > 
> > 
> > ______________________________________________________________________
> Thanks,it's just what I have been looking for in the view.
> 
> Let me make sure that I understand the service handler struct.  The
> libais_handler_fns are handlers implementing the AIS API library
> functions and the aisexec_handler_fns are for messages received over the
> network to a service.  Is that correct?
> 
Yup you got it.

Basically a library sends a command to the executive, which calls the
libais_handler_fns.  The libais handler fns then generally package that
command up into a message that is sent using gmi_mcast.  When the
message is delivered, it will be delivered to aisexec_handler_fns.

All of the intelligence should be in aisexec_handler_fns (for
simplicity) although optimiziations are possible by not sending to every
node.

deferring response to a library to the aisexec_handler_fns is a very
important concept and can be used to avoid race conditions on creations
and deletions of objects and other sorts of API calls.  Also API calls
will then be ordered in agreed fashion across the processors.

Thanks!
-steve

> Mark.




More information about the Openais mailing list