Skip to content
davidmoreno edited this page May 6, 2011 · 1 revision

libonion is designed to be ABI compatible.

This means that once the interface is stabilized, there will be no need to recompile your programs to take advantage of the new versions (bug fixes, performance optimizations...).

This is achieved hiding from the program code the internals of the libonion structures, and adding setters and getters for the important bits. This makes the code slightly bigger and slower (not much), but adds greater flexibility on several fronts:

  1. Binary compatibility. No need to recompile never.
  2. Source compatibility. This is a result of the former ABI compatibility; on some libraries changes makes even source useless. Not on libonion.
  3. Full internal flexibility. For example the request parser has been changed several times with no impact at all on compiled binaries.
Clone this wiki locally