MUSCLE (Multi User Server Client Linking Environment) is an N-way messaging server and networking API. It includes client-side networking APIs for various languages, including C, C++, C#, Delphi, Java, and Python. MUSCLE lets programs communicate over a network via streams of serialized Message objects. The included server program ("muscled") lets its clients message each other and store information in its server-side hierarchical database. The database supports flexible queries via hierarchical wildcarding, and "live" updates via a subscription mechanism.
|Tags||Database Database Engines/Servers Software Development Libraries Application Frameworks Communications Java Libraries|
|Operating Systems||BeOS Mac OS X Windows Windows Windows OS Independent POSIX|
|Implementation||C C# C++ Java Python|
Release Notes: This versions adds proper OpenSSL support for authenticated/encrypted client-server TCP connections. OpenSSL support can be enabled by compiling with -DMUSCLE_ENABLE_SSL and then providing a public key for the clients and a private key for the server.
Release Notes: This version improves C++11 move-constructor optimization support in the Queue and Hashtable classes (available when compiling with -DMUSCLE_USE_CPLUSPLUS) and fixes a number of potential bugs that were reported when compiling the code with clang++'s scan-build static analyzer tool. It also adds some SFINAE logic to make muscleSwap() more efficient for types that implement a SwapContents() method, and includes some fixes for compilation under Android.
Release Notes: This minor release fixed a bug in the -DMUSCLE_USE_MUTEXES_FOR_ATOMIC_OPERATIONS implementation, and improved Android and Qt compatibility.
Release Notes: This release adds a number of enhancements, including thread-safe-by-default HashtableIterators and MessageFieldNameIterators, improved AtomicCounter functionality, better UDP support in the MessageIOGateway classes, an optional LRU cache for GetHostByName() results, better pthreads-compatibility for thread IDs, and a number of bugfixes and efficiency improvements.
Release Notes: This release adds better logging of Message parsing errors, fixes the WSAPoll() implementation of SocketMultiplexer, and fixes a bug in ZLibCodec::Deflate() which could cause very large (e.g., 40+MB) buffers to be compressed incorrectly.