Newest Files
 Nov.20
Driver for Broadcom 570x 10/100 Ethernet Driver.
 Nov.16
This is a 650mb raw disk image that will eventually ...
 Nov.12
About Photograbber:
PhotoGrabber ha...
 Nov.11
Driver for Broadcom 440x 10/100 Ethernet Driver.
 Nov.09
This is a 10gb expanding VMWare disk image. I plan t...
 Nov.09
About IPW2100:
Driver for Intel(R) PRO/Wireless...
 Nov.09
Attansic L2 FastEthernet adapter:
Driver for At...
 Nov.09
About Pegasus BeOS Driver:
Pegasus BeOS driver....
 Nov.08
SLFFEA stands for San Le's Free Finite Element Ana...
 Nov.08
Aladdin is a computational toolkit for the interac...
 Oct.28
Qonk is a small space build-and-conquer strategy gam...
 Oct.25
This port is based on the work done by Takashi Toyos...
 Oct.25
These are the icons Haiku comes with converted from ...
 Oct.17
This project was based on the popular weekly superpa...
 Oct.16
The MUSCLE system is a robust, somewhat scalable, cr...
|
- Description:
-
The MUSCLE system is a robust, somewhat scalable, cross-platform client-server solution for dynamic distributed applications for BeOS and other operating systems. It's distributed in source code form, and includes a ready-to-compile server, utility classes, and example clients. Tested under BeOS and Linux, but should compile and run under any POSIX compliant OS with a C++ compiler.
With MUSCLE, you can:
- Use BMessage-like PortableMessages under any operating system.
- Send flattened PortableMessages from one computer to another over TCP streams, eliminating compatibility and protocol versioning hassles.
- Run a "muscled server" on a central machine, or write/download client programs to log in to the server and communicate through it. Once logged in, client programs can discover who else is logged in, send PortableMessages to other clients, and store PortableMessages in the server's RAM for other clients to download later. Clients can also "subscribe" to selected data on the server, and be automatically notified whenever it changes. Unicast, multicast, and broadcast messaging are all supported via an intelligent regular-expression based routing mechanism. Writing multiplayer games, IRC style chat applications, SETI style distributed calculation apps, or any other type of distributed software is made easy because MUSCLE handles all the dirty work for you!
- Customize the included "muscled" server by defining your own session logic or message-streaming protocol. (Note that this is only necessary for certain specialized applications--the standard server provides sufficient functionality for most things)
- Or just use the included message, string, dataIO, hashtable, dequeue, string-tokenizer, reference-count, regular expression parser, and object-pool classes by themselves, as handy cross platform utility classes. All source code is included, and you are free to use and abuse it any way you wish.
- See the Beginner's Guide to MUSCLE (available in the archive or on the support page) for a more detailed description of the system and its capabilites.
Note: All source code in this archive is Copyright 2000 Level Control Systems. However, it is released as open source with an unrestricted license.
Details about this version:
4.40 Release 10/16/2008
- The Ref class now subclasses from a ConstRef class, which is the
same as Ref except that it only allows read-only access to the
held RefCountable object.
- Added a CastAwayConstFromRef() template function to RefCount.h,
so you can easily convert a ConstRef to a Ref if you really need to.
- Renamed the SocketRef class to ConstSocketRef, because it now derives
from ConstRef<Socket> instead of Ref<Socket>.
- Added a DECLARE_REFTYPES macro to RefCount.h, which you can
use to declare the standard BlahRef and ConstBlahRef typedefs
without having to specify the typedefs manually every time.
- Added implementations of the Connect() and ConnectAsync() functions
that take an IPAddressAndPort object as an argument.
- Added *_FORMAT_SPEC_NOPERCENT macros, for times when I need to
specify format specifications without the percent sign included.
- Added an AsyncDataIO class that can be used to transparently forward
I/O operations to a separate thread, to avoid blocking in your
main thread. This can be useful for DataIO classes that don't
support non-blocking I/O (e.g. FileDataIO)
- Added a GetStackTrace() function to SysLog.{cpp,h} that returns
the current stack trace as a String.
- Added GetLightweightCopyOfMessage() convenience functions to
Message.{cpp,h}.
- Added convenience methods FindFirstSessionOfType() and
FindSessionsOfType() to the ServerComponent class. These
methods are templated to let you quickly find and collect
one or more atatched session objects of the specified C++ class.
o Renamed GenericRef to RefCountableRef, for consistency.
o Renamed PolicyRef to AbstractSessionIOPolicyRef, for consistency.
o Renamed Ref::SetFromGeneric() and Ref::GetGeneric() to
Ref::SetFromRefCountableRef() and Ref::GetRefCountableRef(),
respectively, for consistency.
o testrefcount now runs a 10-second test of reference-counts in a
heavily multithreaded environment, to ensure that they are thread safe.
o Improved performance of Tuple::ShiftValuesLeft() and
Tuple::ShiftValuesRight().
* Removed re-definitions of 'true' and 'false' when compiling in C++ mode.
* Added some missing command codes to StorageReflectConstants.py.
* Message.py didn't handle B_INT32_TYPE fields properly when running on
a 64-bit host. Fixed.
* AddNewConnectSession() and Reconnect() now handle synchronous connect
failures the same way as asynchronous connect failures, so that the
calling code doesn't have to worry about two different failure modes.
* Fixed a valgrind hit in CreateAcceptingSocket() on 64-bit platforms.
* Fixed a buffer overflow bug in Message::AddToString().
* Updated the header comments to fix various doxygen warnings.
- License:
-
BSD/MIT
- Submitted On:
-
16 Oct 2008
- Submitted By:
-
Dennis d'Entremont (thenerd)
- File Date:
-
16 Oct 2008
- File Author:
-
Level Control Systems
- File Version:
-
4.40
- File Size:
-
1,787.51 Kb
- File Type:
-
zip
- File HomePage:
- Click to visit site
- Downloads:
-
3
- Rating:
-
 Total Votes:0
|
|