COID is a C++ object-serving networking library, with tool that
automatically generates a lightweight communication layer directly from
the C++ class
declarations. Instantly functioning remote callability for virtually
any C++ class can be obtained just by decorating the C++ class with few
keywords.
The
generated client class can be used to access objects on remote machines
(almost) as if they were local. Compared to other distributed object
infrastructures such as CORBA, COID is much lighter and faster and
integrates easily directly with C++ sources.
The coidgen
tool
processes
the specified header files, automatically
extracting all the classes and methods that shall
be remotely accessible, generating
corresponding client class and host dispatcher.
The coid server library
manages networked and local connections
and provides various services to running objects. The communication
layer establishes either a remote connection through the TCP or a
direct
(vtable) connection between the client and the server if they reside
in
the same process.
Other features include automatic versioning, remote console for
debugging and administration of served objects and more.
See features and further coid
documentation.
18.9.2007:
COID as an AJAX backend server Current
version of COID framework (in svn repository) can be used as a backend
server for AJAX applications. It's now possible to invoke methods of
C++ objects instantiated on the server via http requests. JSON format
is used for input and output parameter exchange. Still only
a method decoration (to describe in and out parameters etc.) and stream
operators for the used types are required, and the http gateway to your
class works automatically. Currently COID uses only a simple
http server (written as it's own service) for handling the http
requests, but the release should include mod_coid module for the Apache
server. But mainly I have to kick myself into writing a better
documentation ...
21.9.2005:
Version 0.8.5 released Bug fixes to
compile with gcc-4.0
Internal version changed, you must run coidgen on your header files to
be able to use the new version (required because of some other
bugfixes, see changelog)
16.9.2005:
New step-by-step documentation added Martin
Lackner took the effort to provide detailed first
steps documentation of his COID attempts. The documentation is now
available here: first
steps in linux, first
steps in windows, and documentation for example program
that has been used in the test.
Example source code can be downloaded here: example-src Thanks,
Martin!
Additionally, version 0.8.4 was released, with minor bug fixes and
removed pthreads-win package dependency.
30.6.2005:
New
version is available in CVS Removed dependency
on the pthreads package, thin
multiplatform layer incorporated into the coid/comm library.
COID is now using deferred cancellation of managed object's threads.
19.8.2004:
Version 0.8.2
released Bug fixes
and improvements and several new
server commands, see changelog.
30.6.2004:
Version 0.8.1
released Bug
fixes, added documentation for remote
console, some new features see changelog.
11.6.2004:
Version 0.8.0
released New
features: tunneling through http protocol
with proxy support, name server, argument mapping to different types on
client, etc, see changelog.
31.3.2004:
Version 0.7.1
released Bug
fixes to server, coid comm library and chat