diff --git a/Rewritten-docs.md b/Rewritten-docs.md index 43e274e..c8c0d16 100644 --- a/Rewritten-docs.md +++ b/Rewritten-docs.md @@ -2829,7 +2829,32 @@ comply most of possible use cases. ### Additional libraries -@todo: libcurl, spdlog, boost, yaml-cpp, libarchive, cppzmq +Worker implementation depends on several open-source C and C++ libraries. All of +them are multi-platform, so both Linux and Windows builds are possible. + +- **libcurl** -- Libcurl is used for all HTTP communication, that is downloading + and uploading files. Due to lack of documentation of all C++ bindings the + plain C API is used. +- **libarchive** -- Libarchive is ised for compressing and extracting archives. + Actual supported formats depends on installed packages on target system, but + at least ZIP and TAR.GZ should be available. +- **cppzmq** -- Cppzmq is a simple C++ wrapper for core ZeroMQ C API. It + basicaly contains only one header file, but its API fits into worker's object + architecture. +- **spdlog** -- Spdlog is small, fast and modern logging library. It is used for + all of the logging, both system and job logs. It is highly customizable and + configurable from worker's configuration. +- **yaml-cpp** -- Yaml-cpp is used for parsing and creating text files in YAML + format. That includes worker's configuration, job's configuration and job's + results. +- **boost-filesystem** -- Boost filesystem is used for multi-platform + manipulation with files and directories. However, these operations will be + included in future releases of C++ standard, so this dependency may be + removed in the future. +- **boost-program_options** -- Boost program options is used for multi-platform + parsing of command line positional arguments. It is not necessary to use it, + similar functionality can be implemented be ourselves, but this well known + library is effortless to use. ## Monitor