SolidGround is a C++ framework intending to offer everything one need to build powerful, distributed, highly-scalable, client-server applications. Its is designed and implemented for speed and power, with great interest on the ease of use by the developers.
Although in first step it will be
... [More]
released only for Linux, its design allows easy porting to other platforms (planned are Solaris and Windows).
Here is a list with what the framework includes:
A powerful build system based on CMake (http://www.cmake.org/) which allows easy integration of applications based on the framework. A system library which wraps up threads, synchronization objects, thread specific, file access, socket address, debug logging engine etc. Asynchronous signaling engine. Asynchronous TCP and UDP communication engine, single-channel and multi-channel(for easily implementing proxies and other communication nodes, e.g. chat rooms); Secure Socket support for the asynchronous TCP communication, using OpenSSL library(http://www.openssl.org/); Asynchronous multiplexed IPC (Inter Process Communication) / RPC (Remote Procedure Call) engine with keep-alive support for peer disconnection detection. The protocol allows for sending commands (of any size - one can even send file streams) to a peer process over multiplexed UDP. A nice serialization engine (for now only binary, non portable - used by IPC) A nice asynchronous ready, text protocol engine (parser and response builder) for protocols like IMAP, POP, SMTP etc. A file stream manager for asynchronous usage (e.g. if you want a read-only stream for a file which is locked for writing, the manager will signal you the stream when unlocked) A nice audit/log engine. Doxygen documentation. Lots of test applications, including a central proof of concept multi service server.
NOTES
Please consider visiting my newly started project based on SolidGround framework: http://code.google.com/p/solidbox/. [Less]