yaLanTingLibs is a collection of C++20 libraries, now it contains async_simple, struct_pack and coro_rpc.
The target of yaLanTingLibs: provide very easy and high performance C++20 libraries for C++ developers, it can help to quickly build high performance applications.
A library offering simple, light-weight and easy-to-use components to write asynchronous codes. See async_simple
Very easy-to-use, coroutine-based, high performance rpc framework with C++20. coro_rpc is a header only library.
English Introduction(TODO) | 中文简介
English API(TODO) | 中文API
Based on compile-time reflection, very easy to use, high performance serialization library, struct_pack is a header only library, it is used by coro_rpc now.
English Introduction(TODO) | 中文简介
English API(TODO) | 中文API
- clone repo
git clone https://github.com/alibaba/yalantinglibs.git
- build with cmake
mkdir build && cd build
cmake ..
make -j
- run tests
cd tests
ctest .
options:
./benchmark_client [threads] [client_pre_thread] [pipeline_size] [host] [port] [test_data_path] [test_time] [warm_up_time]
option | description | default |
---|---|---|
CMAKE_BUILD_TYPE | build type | Release |
BUILD_WITH_LIBCXX | Build with libc++ | OFF |
USE_CONAN | Use conan package manager to handle dependencies | OFF |
ENABLE_SSL | Enable ssl support | OFF |
- doctest
- spdlog
- asio
- openssl (optional)
- async_simple
Currently, asio and spdlog are put in thirdparty folder. doctest is put in tests folder.
- Create an issue in the issue template.
- Run tests and
git-clang-format HEAD^
locally for the change. - Create a PR, fill in the PR template.
- Choose one or more reviewers from contributors: (e.g., qicosmos, poor-circle, PikachuHyA).
- Get approved and merged.
yaLanTingLibs is distributed under the Apache License (Version 2.0) This product contains various third-party components under other open source licenses. See the NOTICE file for more information.