Skip to content
This repository has been archived by the owner on Nov 21, 2017. It is now read-only.

tsavola/cio

Repository files navigation

/**
@mainpage  Cooperative I/O routines

CIO is a C library for I/O-driven cooperative multitasking that tries to
abstract away the event loop.  Applications are partitioned into multiple
routines which have their own stacks.  The routines do blocking I/O calls
during which other routines are executed.  The routines can communicate and
synchronize between one another using channels.  This approach is related to
concepts like Communicating Sequential Processes, Continuations and Coroutines.

Tested on Linux/x86-64.  The scheduler doesn't know multithreading yet.


@par  API documentation

- Low-level @link sched scheduling API @endlink
- @link routine Routine @endlink management ( @link routine_cpp C++ @endlink )
- @link channel Channel @endlink object ( @link channel_cpp C++ @endlink )
- @link file File descriptor @endlink functions
- @link io I/O @endlink functions
- @link socket Socket @endlink functions
- @link time Time @endlink functions
- @link util Utilities @endlink


@par  Source code

Git repository: @c http://github.com/tsavola/cio


@par  Bugs

Issue tracker: @c http://github.com/tsavola/cio/issues


@par  Attribution

Copyright © 2010 Timo Savola <timo.savola@iki.fi>

Released under the terms of the GNU Lesser General Public License version 2.1 or later.


*/

Releases

No releases published

Packages

No packages published