-
Notifications
You must be signed in to change notification settings - Fork 44
Home
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.
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, 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, 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, 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, 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...
- service/AWS, our reactorified API to interact with AWS (only S3 for now). Read more...
- service/Dropbox, our reactorified API to interact with Dropbox. Read more...
- serialization, abstract serialization primitives with binary and JSON implementation.
- etc.
See our how to build wiki page.
See our examples wiki page.
If you have any questions, contact us:
- by email: open+elle@infinit.sh
- on Slack: channel #Elle
- on GitHub: https://github.com/infinit/elle