The ivykis library is a thin, portable wrapper around OS-provided
mechanisms such as epoll(4), kqueue(2), poll(2) and select(2). It was
mainly designed for building high-performance network applications,
but can be used in any event-driver application that uses pollable
file descriptors as its event sources.
Programs written to the ivykis API are generally single-threaded (or
use only a small number of threads), and never block on I/O. All
input and output is done in a nonblocking fashion, with I/O readiness
notification delivered via callback functions.
JSAP: the Java-based Simple Argument Parser
JSAP parses your command line and instantiates objects of types you specify
based upon that command line. If you configure JSAP to expect an Integer on the
command line, and the user does not provide a String that can be converted to
an Integer, JSAP will alert your program to the fact that there was a problem
with the command line. If JSAP indicates that your command line was
successfully parsed, you are guaranteed an Integer when you request that
parameter's value from your program. There's a pretty big (and growing) list of
return types supported by JSAP.
Parsing a program's command line arguments has always been a distraction from
the main programming task at hand. The argtable library simplifies the job by
enabling the programmer to define the command line options directly in the
source code as a static array of structs and then pass that array to argtable
library functions which parse the command line accordingly. The values
extracted from the command line are deposited directly into user-defined program
variables where they can be accessed by the main program. Argtable can also
generate descriptions of the command line syntax from that same array for
display as on-line help.
An abstract interface to highly-parameterizable queues/deques. Background:
There exists a feature space for queues that extends between:
* simple, single-ended, non-concurrent, bounded queues
* double-ended, threadsafe, growable queues
... with important points inbetween (such as the queues used for
work-stealing). This package includes an interface for Deques that
allows the programmer to use a single API for all of the above, while
using the type-system to select an efficient implementation given the
requirements (using type families). This package also includes a simple
reference implementation based on 'IORef' and "Data.Sequence".
An efficient packed, immutable Unicode text type (both strict and lazy),
with a powerful loop fusion optimization framework.
The Text type represents Unicode character strings, in a time and
space-efficient manner. This package provides text processing
capabilities that are optimized for performance critical use, both in
terms of large data quantities and high speed.
The Text type provides character-encoding, type-safe case conversion via
whole-string case conversion functions. It also provides a range of
functions for converting Text values to and from ByteStrings, using
several standard encodings.
Efficient locale-sensitive support for text IO is also supported.
This hierarchy contains all the source code from
"C Interfaces and Implementations: Techniques for Creating Reusable
Software (Addison-Wesley Professional Computing Series, 1997,
ISBN 0-201-49841-3).
For installation instructions, see install.html.
For a summary of the distribution's revision history, see history.html.
David R. Hanson
http://www.research.microsoft.com/~drh/
FreeBSD note: in /usr/local
lib/libcii.a -> lib/cii/1/libcii.a
include/cii -> lib/cii/1/include
example binaries are in lib/cii/1/examples
copyright, history, etc share/doc/cii
source of CII share/doc/cii/src
source of examples share/doc/cii/examples
There is no documentation other than the book and its web site.
[ description from README.txt ]
Coil: A Configuration Library.
Introduction
============
Coil is a configuration file format that is parsed into a tree of
dict like Struct objects. The format supports inheritance, allowing
complicated configurations to be as compact as possible.
Design Goals
============
General design/implementation goals, some have been met, others are
still in progress.
- Support Twisted and non-Twisted reactor driven Python programs.
- Scalable to complex configurations, easily avoiding duplication.
- Orthogonal to code; code should not be required to know about the
config system used, it should be regular Python or Twisted code.
- Minimal boilerplate.
OSSP mm - Shared Memory Allocation Library
Copyright (c) 1999-2005 Ralf S. Engelschall <rse@engelschall.com>
Copyright (c) 1999-2005 The OSSP Project <http://www.ossp.org/>
OSSP mm is a 2-layer abstraction library which simplifies
the usage of shared memory between forked (and this way strongly
related) processes under Unix platforms. On the first layer it
hides all platform dependent implementation details (allocation
and locking) when dealing with shared memory segments and on the
second layer it provides a high-level malloc(3)-style API for a
convenient and well known way to work with data-structures inside
those shared memory segments.
Soup is a SOAP (Simple Object Access Protocol) implementation in C.
It provides a queued asynchronous callback-based mechanism for sending and
servicing SOAP requests, and a WSDL (Web Service Definition Language) for C
compilers which generates client stubs and server skeletons for easily
calling and implementing SOAP methods. It uses GLib and is designed to work
well with GTK applications.
Features:
* Completely Asynchronous
* Connection cache
* HTTP chunked transfer and persistent connections
* Authenticated HTTP, SOCKS4, and SOCKS5 proxy support
* SSL Support using OpenSSL
* Apache module server support
* Client digest authentication
Soup is a SOAP (Simple Object Access Protocol) implementation in C.
It provides a queued asynchronous callback-based mechanism for sending and
servicing SOAP requests, and a WSDL (Web Service Definition Language) for C
compilers which generates client stubs and server skeletons for easily
calling and implementing SOAP methods. It uses GLib and is designed to work
well with GTK applications.
Features:
* Completely Asynchronous
* Connection cache
* HTTP chunked transfer and persistent connections
* Authenticated HTTP, SOCKS4, and SOCKS5 proxy support
* SSL Support using OpenSSL
* Apache module server support
* Client digest authentication