* Nonblocking Networking.
* Nonblocking File I/O.
* Nonblocking pipe/system and fork commands for spawning helper programs. [1]
* Event driven, event passback for all situations.
* SSL incorporated, with auto-detection.
* Portable (Already confirmed NetBSD, Solaris, Linux, OsX and Win32)
* Single process / thread library. [2]
* Numerous Sample programs included.
* Support both in-library sleep/CPU-release, or in Application.
* Full buffering control, and flow control.
* CPS (KB/s) rate limits on _any_ I/O type. (Socket, File & Pipe)
* Adoptable foreign file-descriptors API. [3]
* Clean API with documentation, although man-page comming.
* Direct, or event driven, failure modes supported.
* Exclusive File I/O locking optional, across all platforms.
* Internal compression optional.
* Very simple to use for line-by-line protocols, or binary chunk data transfers.
* Full UDP support [4]
* Encrypted File IO support (blowfish, dependent on SSL)
* contrib/ sources include Directory listings library for all platforms.
* Python support! Using SWIG [5] there now is an easy way to do async SSL in Python
* Timers! Callback timers in relative or absolute time. One-shot or repeat.
- [1] Win32 naturally does not have true fork() but this is simulated for you by LiON.
- [2] Win32 version require a thread per file to support all version of Windows.
- [3] You can adopt in a file-descriptor opened elsewhere, like that of stdin or stdout.
- [4] Includes optional advanced mode where you can request a new handle per remote IP:port pair. Useful for Games and applications creating an object per unique UDP connection.
- [5] There is no reason why the other languages supported by SWIG wouldn't also work.