Pull request Compare This branch is 81 commits behind develop.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
..
Failed to load latest commit information.
c
erlang
java
javascript
perl
php
python
ruby
Makefile.am
README.markdown

README.markdown

CloudI API

PURPOSE

Provide an interface for external software to utilize CloudI's scalability, fault-tolerance, messaging, dynamic configuration, and other features.

INTEGRATION

Supported languages:

  • Erlang >= R16
  • C++
  • C
  • Java
  • Python >= 2.7.0
  • Ruby >= 1.9.0

For Erlang integration, use the cloudi_service behavior which is included within the cloudi_core application. The Erlang code is expected to run in a separate application within the same Erlang VM as CloudI. Erlang supports writing very robust software but Erlang development within CloudI requires more scrutiny because the Erlang code can easily access CloudI internals to bypass the ACL functionality and manipulate the system in malicious ways.

C++/C, Java, Python, and Ruby all use the same function names that exist within the cloudi_service Erlang behavior, but each language makes function calls into its own native CloudI library. The external languages are ran as separate OS processes with separate threads (using any native threading library) that initialize the CloudI API and call its event-loop (in the "poll" function).

Examples exist within the tests:

Please see the CloudI API documentation for more details.