HornetQ is a multi-protocol, embeddable, high performance, clustered, asynchronous messaging system. HornetQ is an example of Message Oriented Middleware. It includes an extensive, easy-to-understand user-manual and quick-start guide and over 65 ready-to-run examples out of the box, demonstrating everything from simple JMS usage to complex clusters of servers and more exotic functionality. Its elegant POJO based design has minimal third party dependencies. You can run HornetQ as a stand-alone messaging broker, run it in integrated in your favorite JEE application server, or run it embedded inside your own application. Its journal provides high persistent messaging performance. Automatically switching into native mode when running on Linux, it uses asynchronous IO to provide persistent messaging rates that can saturate the write throughput of a disk. Its pluggable transport system uses JBoss Netty out of the box to provide high performance and scalability on the wire.
The psycogreen package makes it possible for psycopg2 to work with coroutine libraries, using asynchronous calls internally but offering a blocking interface so that regular code can run unmodified. While Psycopg offers coroutine support, the main module is a C extension that cannot be monkey-patched to become coroutine-friendly. Instead it exposes a hook that coroutine libraries can use to install a function integrating with their event scheduler. Psycopg will call the function whenever it executes a libpq call that may block. psycogreen is a collection of "wait callbacks" that can be used to integrate Psycopg with different coroutine libraries. psycogreen is currently mainly useful for integration with gevent.
AJAPH is an object that can send AJAX requests and process the responses. It supports HTTP GET or POST requests, and synchronous or asynchronous requests with optional parameters. It can set a given page element to an image while waiting for the response. Request responses can be handled as HTML, XML, JSON, or text.
s6-dns is a small, efficient, complete, and IPv6-ready DNS client library, with synchronous as well as asynchronous APIs. It is designed to replace libresolv in projects that need to perform DNS resolution. It also comes with small command-line utilities to make common and not so common DNS queries.
libjc is a framework for event-driven development in C. Programs that use it can perform an arbitrary number of operations simultaneously and in the background, and later wait for some or all of them to complete. The source package includes the core library along with a few objects, each of which is able to perform a set of related operations. This framework consumes significantly less memory than standard libraries, and it scales well to multiprocessor systems.
protobuf-rpc-pro is a Java developer library that provides an RPC layer for Google's Protocol Buffer services. It builds upon Netty for low-level NIO. Features include bidirectional RPC calls from client to server and from server to client. The client and server are equal communicating peers. TCP connection re-use / keep-alive, SSL encryption support, RPC call cancellation, timeout and a pluggable logging facility logging RPC call data in Protocol Buffer format are included.
asyncoro is a Python framework for concurrent distributed network programming with asynchronous completions and coroutines. Asynchronous completions implemented in asyncoro are socket I/O operations (non-blocking sockets), database cursors, sleep timers, and locking primitives. Programs developed with asyncoro have the same logic and structure as Python programs with threads, except for a few syntactic changes. It supports socket I/O notification mechanisms epoll, kqueue, /dev/poll (and poll and select, where necessary), and Windows I/O Completion Ports (IOCP) for high performance and scalability, and SSL for security. asyncoro features include remote execution of coroutines, coroutines monitoring other coroutines, coroutines communicating with messages, message channels etc., for concurrent, distributed, fault-tolerant programming.
nioReactor is a framework for quickly building scalable event-driven network applications. It is built on top of the Reactor design pattern using NIO sockets. This provides high performance and allows for a complete separation from the application specific code. The goal of the project is to provide a simple set of APIs that allow users to build scalable servers without needing to deal with with the cumbersome and sometimes temperamental peaces of the NIO package.