OpenMAMA Native Message (OMNM)
Pronounced ominum (because it's fun to say), this is the OpenMAMA Native Messaging bridge.
The idea is to create a dependency-free payload implementation for OpenMAMA so that it can be used with middlewares which don't have their own payload format (e.g. ZeroMQ, Nanomsg etc).
The payload implementation is high performance and self describing so it is quite flexible. It also supports every interface which is supported by OpenMAMA, and passes every OpenMAMA unit test currently available.
NB: This project is MIT Licensed, maintained by cascadium.io and in no way affiliated with nor supported by the OpenMAMA project - if you find any issues, please report to this project via github.
The payload is considered feature complete and includes:
- Serialization / Deserialization functions
- Apply methods
- Iterators (both callback based and iterator based)
- Scalar data type accessor and modification methods for both field and message
- Sub messages
- All vector types
- Binary and opaque data types
- String serialization functionality
- It may be extended to form a suitable base for other payload implementations.
Extending this Bridge
It is possible to use this payload as a base bridge simply by implementing:
And passing through the API call to omnmsg for all other methods
We support all of the platforms currently supported by OpenMAMA. The complete list can be found here.
The bridge depends on:
- OpenMAMA 2.4.0+
The software can be build in the standard cmake way
mkdir build cd build cmake .. -DMAMA_ROOT=/path/to/openmama make install
Which will install the bridge to the OpenMAMA root directory. If building on windows, instead of
cmake --build . --target install.
directory containing this library to your
LD_LIBRARY_PATH and set the
following property in your
mama.properties configuration file:
More from Cascadium
If you want to see what else we're up to, you can head on over to cascadium.io. We offer professional support for all of our projects as well as bespoke development for your in-house needs.