LiON: Difference between revisions
No edit summary |
No edit summary |
||
(2 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
== LION [Lundman's Input Output Network library] == | == LION [Lundman's Input Output Network library] == | ||
<paypal></paypal> | |||
* Nonblocking Networking. | * Nonblocking Networking. | ||
Line 13: | Line 14: | ||
* CPS (KB/s) rate limits on _any_ I/O type. (Socket, File & Pipe) | * CPS (KB/s) rate limits on _any_ I/O type. (Socket, File & Pipe) | ||
* Adoptable foreign file-descriptors API. [3] | * Adoptable foreign file-descriptors API. [3] | ||
* Clean API with documentation | * Clean API with documentation. | ||
* Direct, or event driven, failure modes supported. | * Direct, or event driven, failure modes supported. | ||
* Exclusive File I/O locking optional, across all platforms. | * Exclusive File I/O locking optional, across all platforms. | ||
Line 39: | Line 40: | ||
[http://www.lundman.net/unix/lion_commitlog.txt Changelog] | [http://www.lundman.net/unix/lion_commitlog.txt Changelog] | ||
[ | [[LiON Documentation]] | ||
[http://www.lundman.net/unix/lion-example.c SSL-Connect example] | [http://www.lundman.net/unix/lion-example.c SSL-Connect example] |
Latest revision as of 00:21, 11 June 2008
LION [Lundman's Input Output Network library]
<paypal></paypal>
* 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. * 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.