LibAxl is a runtime and memory efficient XML 1.0 implementation, built as a separated library to support all projects inside the Af-Arch initiative, including Vortex Library. The library is available at the same download location where Vortex Library is found. It also comes with a Microsoft Windows installer.
In order to activate the TLS profile support it is also required openssl (http://www.openssl.org) to be installed. This software is commonly found on every unix/GNU/Linux installation. Binaries are also available for Microsoft Windows platforms.
For the SASL profile family support it is also required GNU SASL (http://josefsson.org/gsasl/) to be installed.
Keep in mind that Vortex Library design allows to configure and build a library without TLS or SASL support. As a consequence, TLS profile and SASL profiles dependencies are optional.
Additionally, you can enable building vortex-client, a tool which allows to perform custom operations against BEEP peer (not only Vortex ones), by adding a new dependency: libreadline.
To compile Axl Library you must follow standard autoconf procedure:
tar xzvf axl-XXX.tar.gz ./configure make make install
See Axl Library installation manual for more details: http://www.aspl.es/axl/html/axl_install.html
An an example, on a debian similar system, with deb based packaging, these dependecies can be installed using:
To activate TLS profile support:
apt-get install libssl-dev
To activate SASL profiles support:
apt-get install libgsasl7-dev
If you know about the exact information about how to install Vortex Library dependencies in your favorite system let us to know it. We will add that information on this manual.
Openssl binaries for windows platform could be found at: http://www.openssl.org/related/binaries.html
Previous package described DO NOT have pkg-config file configuration. This means you will have to configure the Makefile.win provided. Check the install section to know more about this.
Starting from Vortex Library 1.0.2, GNU SASL binaries for windows platform are also provided by the Vortex Library project at the same location with a windows installer.
Previous package are compiled against the Microsoft Runtime (msvcrt.dll) and every program or library running inside the cygwin environment is compiled against (or linked to) cygwin1.dll. If you mix libraries or programs linked to both libraries you will get estrange hang ups.
On cygwin environment use the libraries provided by the cygwin package installation system. Keep in mind that running Vortex Library over Cygwin will force you to chose the GPL license for your application because the cygwin1.dll is license under the GPL.
No proprietary (closed source) development can be done using Cygwin environment.
Vortex Library has been build using asynchronous sockets (not blocking model) with a thread model each one working on specific tasks. Once the Vortex Library is started it creates 2 threads apart from the main thread doing the following task:
Apart from the 2 threads created plus the main one, the Vortex Library creates a pool of threads already prepared to dispatch incoming frames inside user space function. The thread pool size can also be tweaked.