librascal stands for Realtime Asynchronous Connection Abstraction Layer. It is a library that provides functions for building portable, high-performance networking applications. The following must be taken into consideration when deciding to start using the library:
The library is fully asynchronous and performs no blocking operations, which makes it possible to use in time critical environments. All requests either complete immediately or a completion notification is delivired using events.
The library supports multithreading.
The library performs unconditional data flow buffering in both directions.
The library performs caching of all internally allocated objects to decrease the overhead of the memory allocation process.
The library provides functions for working with DNS, and doing so in a simple and effective manner. The library makes use of SRV resource records to help achieve best user experience.
The library supports IPv6 on systems which have the sixth stack installed.
The library is open source and is licensed under the terms of GNU LGPL.