omniEvents (experimental POA version)

This is an EXPERIMENTAL port of omniEvents 2.4 to CORBA's Portable Object Adapter (POA). omniEvent's reliance on the old BOA architecture has been a serious impediment to developing further features. This release implements all of the basic Event Service features of omniEvents 2.4. Some of the Quality of Service features (max queue length, pullConsumer poll frequency) are hard-coded rather than configurable.

Download

omniEvents-poa-src.tar.gz (707791 bytes)

You can still browse the Autoconf macros

Features

This new version contains a number of significant enhancements over the previous one. I've individually designed each Proxy type for optimal performance, and minimal use of system resources. In particular, this implementation uses very few threads per channel, which helps to cut down on complexity and on locking overheads. It's been quite interesting. Although they seem superficially similar, I've found that the challenges are actually quite distinct.

In other news, all of these Proxy implementations are careful to send the proper disconnect message to their peers when they are disconnected. They also automatically disconnect when they receive an exception, which clears away server resources when misbehaved clients just disappear without letting us know they're going. This behaviour should probably be made a little more lenient when the exception is a TRANSIENT.

Doxygen code documentation is included in the download. I find it enormously helpful for finding my way round, so I thought I'd include it.

Contact

E-mail me: Alex Tingle <alex.omnievents(AT)firetree.net>