Projects / MUSCLE

MUSCLE

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
Licenses
Operating Systems
Implementation

RSS Recent releases

  •  21 Apr 2013 21:16

    Release Notes: This release adds spaces around macro names so that the code will compile under C++11. It adds some initial C++11 support (active only if -DMUSCLE_USE_CPLUSPLUS11 is specified). StringMatcher's numeric-range feature can now handle multiple numeric ranges in a string (e.g. "<1-5,20,30-32>"). Functions have been added to convert GetRunTime64()-style timestamp values to GetCurrentTime64()-style and vice-versa. This release fixes some deprecation warnings under OS X 10.8.x. It fixes a syntax issue that would prevent ByteBuffer.cpp from compiling on a big-endian host. There are other minor tweaks and bugfixes.

    •  12 Nov 2012 00:46

      Release Notes: This is a very minor release. It just fixes one bug related to IP address string formatting, adds a couple of convenience functions, and includes some code cleanup.

      •  02 Oct 2012 21:48

        Release Notes: This version updates the Hashtable class to use less memory when the hash table's array size is less than 65,535 entries.

        •  14 Sep 2012 00:49

          Release Notes: This is a minor release. The main change is that the ZlibUtilityFunctions implementation now uses ThreadLocalStorage to store its internal state, rather than sharing ZLibCodec objects across threads. This has the advantages of allowing greater parallelism and avoiding any chance of deadlocks.

          •  31 Aug 2012 04:46

            Release Notes: The main change in this release is the addition of the MicroMessage API, a super-lightweight set of C function calls to support the sending and receiving of Message objects in very constrained environments. In particular, this API does absolutely no dynamic memory allocations, and almost no data copying -- instead, the flattened-data representation is read from or written to directly on demand. This release also adds some additional methods to the C++ Message class, inlines some methods in the String class, and fixes a few minor bugs.

            RSS Recent comments

            06 Aug 2003 16:22 jaf

            Mailing list created
            FYI, there is now a MUSCLE mailing list covering development
            and use of the MUSCLE toolkit. You can subscribe to it by
            sending an email to with the word muscle-request@freelis...
            "subscribe" in the subject line, or you can search the mailing
            list archives here.

            30 Jun 2003 01:24 Monni

            Re: Rudimentary BeShare-compatible command line chat client available

            > New version of Clyde is v1.04. It's
            > been tweaked to compile with MUSCLE
            > v1.30+.

            You need to add QueryFilter.o and ByteBuffer.o to the Makefile to get it to compile with latest MUSCLE's.

            02 Mar 2003 23:08 jaf

            Re: Rudimentary BeShare-compatible command line chat client available
            New version of Clyde is v1.04. It's
            been tweaked to compile with MUSCLE v1.30+.

            16 Oct 2002 08:05 job

            Confusing name
            The name of this project is rather confusing. MUSCLE is already the name of the de-facto standard smartcard environment for Linux. (Google for &quot;muscle linux&quot; and you'll see what I mean.)

            10 Apr 2002 11:35 jaf

            Re: Rudimentary BeShare-compatible command line chat client available
            Clyde 1.01 is
            here. It fixes a nasty crashing bug and adds a few minor features.

            Screenshot

            Project Spotlight

            Vrapper

            An Eclipse plugin which provides a Vim-like input scheme for text editors.

            Screenshot

            Project Spotlight

            DBeaver

            A universal database manager.