Home

Antony MECHIN edited this page Apr 5, 2017 · 3 revisions

Elle is a set of C++14 libraries based on Boost, OpenSSL, zlib, curl, and a few other libraries which forms a unified development environment.

Inside Elle

Reactor

Reactor, the Elle's asynchronous framework, based on coroutines.

For those who are not familiar with coroutines, they allow for concurrency with a reduced need for locking and fit extremely well in I/O bound programming. In addition to providing an elegant and portable implementation of coroutine, Elle offers a complete asynchronous framework including networking sockets (TCP, UDP, µTP), support for HTTP(s), finite state machines (FSM), synchronization mechanisms, etc. Read more...

Athena

Athena, the Elle's consensus library.

In a distributed environment, it is no small matter to get participants to an agreement. Athena provides an implementation of the Paxos consensus algorithm, designed to reach a consensus in a network of unreliable actors. Read more...

Das

Das, the Elle's compile-time introspection primitives.

Das uses a symbol-based paradigm to allow for compile-time introspection, allowing for more flexibility and decision making. It also provides convenience features like named arguments, automatic printers and serialization method, CLI helpers, etc. Read more...

Cryptography

Cryptography, the Elle's object- and stream-oriented OpenSSL wrapper.

The cryptography Elle's is a convenience wrapper over OpenSSL, offering modern C++ interfaces, object- and stream-oriented APIs, automatic resource management, transparent module initialization and deinitialization, etc. Read more...

Protocol

Protocol, the Elle's unified communication channels

Protocol helps setting up a sustainable channel, through unified and versioned communication protocol and offers multiplexed channels on top of a single reactofied stream. Read more...

And also

How to build

See our how to build wiki page.

Examples

See our examples wiki page.

Need help?

If you have any questions, contact us: