aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDeterminant <[email protected]>2019-07-02 18:24:28 -0400
committerDeterminant <[email protected]>2019-07-02 18:24:28 -0400
commit71c0b2f03d7a68b6a869ec255fda3c48bd98d878 (patch)
treec4b4eafe126681c624eadc3cbcaa8688098024a8
parentbca672b4d549e7fea43691ad387b003936ef2b8a (diff)
update readme
-rw-r--r--README.rst18
1 files changed, 14 insertions, 4 deletions
diff --git a/README.rst b/README.rst
index a9f8608..86b2f29 100644
--- a/README.rst
+++ b/README.rst
@@ -1,5 +1,5 @@
Salticidae: minimal C++ asynchronous network library.
-=======================================================
+=====================================================
.. image:: https://img.shields.io/badge/License-MIT-yellow.svg
:target: https://opensource.org/licenses/MIT
@@ -9,7 +9,10 @@ Features
--------
- Simplicity. The library is self-contained, small in code base, and only
- relies on libuv and libcrypo (OpenSSL, for SHA256 purpose).
+ relies on libuv and libssl/libcrypto (OpenSSL, for SHA256 purpose).
+ Despite the multi-threaded nature of the library, a user only needs to
+ understand the callbacks are invoked in a sequential order driven by a single
+ user-initiated event loop.
- Clarity. With moderate use of C++ template and new features, the vast
majority of the code is self-documenting.
@@ -25,6 +28,13 @@ Features
- Utilities. The library also provides with some useful gadgets, such as
command-line parser, libuv abstraction, etc.
+- Security. It supports SSL/TLS, with customized certificate verification (as
+ part of the connection callback).
+
+- Bindings for other languages. The library itself supports C APIs and the
+ other project ``salticidae-go`` supports invoking the library in Go through
+ cgo.
+
Functionalities
---------------
@@ -62,7 +72,7 @@ Dependencies
- CMake >= 3.9
- C++14
-- libuv
+- libuv >= 1.10.0
- openssl >= 1.1.0
Minimal working P2P network
@@ -75,7 +85,7 @@ Minimal working P2P network
using Net = salticidae::PeerNetwork<uint8_t>;
- int main() { /* exampmle of 4 peer nodes pinging each other */
+ int main() { /* example of 4 peer nodes pinging each other */
std::vector<std::pair<salticidae::NetAddr, std::unique_ptr<Net>>> nodes;
Net::Config config;
salticidae::EventContext ec;