Provide an interface for external software to utilize CloudI's scalability, fault-tolerance, messaging, dynamic configuration, and other features.
ATS2/Postiats >= 0.3.13
C
C++
Elixir
Erlang >= 22.0
Go >= 1.11
Haskell (GHC >= 8.6.0)
Java
JavaScript/node.js >= 0.12.18
OCaml >= 4.08.0
Perl >= 5.10 (with Compress::Zlib)
PHP >= 7.0
Python >= 2.7.0
Ruby >= 1.9.0
Rust >= 1.66.1
C/C++, Go, Haskell, Java, JavaScript, OCaml, Perl, PHP, Python, Ruby, and Rust
all have an implementation of the CloudI API that is completely done in that
programming language (to avoid extra complexity).
ATS uses the C CloudI API to add more type information in the ATS CloudI API.
A separate Python/C CloudI API uses the C++ CloudI API to provide more
efficiency (when using the cloudi_c
Python module instead of cloudi
).
Any use of the CloudI API in these programming languages
(that are not running in the Erlang VM, i.e., "external" services)
is executed as separate OS processes with separate threads
(using any native threading library) with CloudI as the application server.
Erlang (or Elixir) integration uses the cloudi_service
behavior to
create "internal" CloudI services. Typically, the module name implementing
the cloudi_service
behavior is built as an Erlang/OTP application
with the same name.
An example SWIG interface file is provided based on the C CloudI API in cloudi.i. SWIG could be used to create a CloudI API for Lua, R, D, etc.
src/tests/count
Basic Count Testsrc/tests/http_req
Basic HTTP Request Testsrc/tests/msg_size
Basic Message Size (Forwarding) Testsrc/tests/messaging
Basic Messaging Testsrc/tests/null
Basic Null Response Test
src/tests/count
(C, no threads) Basic Count Testsrc/tests/http_req
(C, no threads) Basic HTTP Request Testsrc/tests/msg_size
(C++, no threads) Basic Message Size (Forwarding) Testsrc/tests/messaging
(C++, threads) Basic Messaging Testsrc/tests/null
(C, no threads) Basic Null Response Testsrc/tests/hexpi
(C++, threads) Hexadecimal PI Test
src/tests/count
Basic Count Testsrc/tests/http_req
Basic HTTP Request Testsrc/tests/msg_size
Basic Message Size (Forwarding) Testsrc/tests/messaging
Basic Messaging Testsrc/tests/null
Basic Null Response Test- Hexadecimal PI Fault-Tolerant Map/Reduce Test
src/tests/count
Basic Count Testsrc/tests/http_req
Basic HTTP Request Testsrc/tests/msg_size
Basic Message Size (Forwarding) Testsrc/tests/messaging
Basic Messaging Testsrc/tests/null
Basic Null Response Test
src/tests/count
Basic Count Testsrc/tests/http_req
Basic HTTP Request Testsrc/tests/msg_size
Basic Message Size (Forwarding) Testsrc/tests/messaging
Basic Messaging Testsrc/tests/null
Basic Null Response Test
src/tests/count
Basic Count Testsrc/tests/http_req
Basic HTTP Request Testsrc/tests/msg_size
Basic Message Size (Forwarding) Testsrc/tests/messaging
Basic Messaging Testsrc/tests/null
Basic Null Response Test
src/tests/count
Basic Count Testsrc/tests/http_req
Basic HTTP Request Testsrc/tests/msg_size
Basic Message Size (Forwarding) Testsrc/tests/messaging
Basic Messaging Testsrc/tests/null
Basic Null Response Test
src/tests/count
Basic Count Testsrc/tests/http_req
Basic HTTP Request Testsrc/tests/msg_size
Basic Message Size (Forwarding) Testsrc/tests/messaging
Basic Messaging Testsrc/tests/null
Basic Null Response Test
src/tests/count
Basic Count Testsrc/tests/http_req
Basic HTTP Request Testsrc/tests/msg_size
Basic Message Size (Forwarding) Testsrc/tests/messaging
Basic Messaging Testsrc/tests/null
Basic Null Response Test
src/tests/count
Basic Count Testsrc/tests/http_req
Basic HTTP Request Testsrc/tests/msg_size
Basic Message Size (Forwarding) Testsrc/tests/messaging
Basic Messaging Testsrc/tests/null
Basic Null Response Test
src/tests/count
Basic Count Testsrc/tests/http_req
Basic HTTP Request Testsrc/tests/msg_size
Basic Message Size (Forwarding) Testsrc/tests/messaging
Basic Messaging Testsrc/tests/null
Basic Null Response Test
src/tests/count
Basic Count Testsrc/tests/http_req
Basic HTTP Request Testsrc/tests/msg_size
Basic Message Size (Forwarding) Testsrc/tests/messaging
Basic Messaging Testsrc/tests/null
Basic Null Response Test
src/tests/count
Basic Count Testsrc/tests/http_req
Basic HTTP Request Testsrc/tests/msg_size
Basic Message Size (Forwarding) Testsrc/tests/messaging
Basic Messaging Testsrc/tests/null
Basic Null Response Test
Please see the CloudI API documentation for more details.