Middleware that provides libraries, GUI, and code generator to design multi-node (clustered) applications that are highly available, redundant, and scalable. Provides sub-second node and application fault detection and failover, and useful application libraries including distributed hash tables (checkpoint), event, logging, and communications. Implements SA-Forum APIs where applicable. Used anywhere reliability is a must -- like telecom, wireless, defense and enterprise computing. Download stable release with installer from: ftp.openclovis.com
Most SAFplus services use an "old style" startup that calls clEoInitialize (ClInt32T argc, ClCharT *argv []) and has a trivial (or no) main function. Instead the real application "main" is passed as a callback.
This should be converted to a more standard application, with a real "main" function and no call back. saAmfInitialize () (preferred) or clASPInitialize should instead be called to start the basic SAFplus functions.
The following process and node kill were done during testing
Killed one of the SAF services (like Name or Event ) that particular service restarted
Killed one of the critical SAF services (like sport , MSG and GMs ) entire node restarted
killed active controller, then standby controller becomes active for providing services to worker node
Tested with csa101, 102,103,104,112 and 113 examples
Most SAFplus services use an "old style" startup that calls clEoInitialize (ClInt32T argc, ClCharT *argv []) and has a trivial (or no) main function. Instead the real application "main" is passed as a callback.
This should be converted to a more standard application, with a real "main" function and no call back. saAmfInitialize () (preferred) or clASPInitialize should instead be called to start the basic SAFplus functions.
The following process and node kill were done during testing