Files
sashimono/README.md
2021-06-04 12:06:22 +05:30

37 lines
1.3 KiB
Markdown

# Sashimono Agent
## What's here?
*In development*
A C++ version of sashimono agent
## Libraries
* jsoncons (for JSON and BSON) - https://github.com/danielaparker/jsoncons
* Boost Stacktrace - https://www.boost.org
* Reader Writer Queue - https://github.com/cameron314/readerwriterqueue
* Concurrent Queue - https://github.com/cameron314/concurrentqueue
## Setting up Sashimono Agent environment
Run the setup script located at the repo root (tested on Ubuntu 18.04).
```
./dev-setup.sh
```
## Build Sashimono Agent
1. Run `cmake .` (You only have to do this once)
1. Run `make` (Sashimono agent binary will be created as `./build/sagent`)
## Code structure
Code is divided into subsystems via namespaces.
**conf::** Handles configuration. Loads and holds the central configuration object. Used by most of the subsystems.
**salog::** Handles logging. Creates and prints the logs according to the configured log section in the json config.
**comm::** Handles generic web sockets communication functionality. Mainly acts as a wrapper for [hpws](https://github.com/RichardAH/hpws).
**util::** Contains shared data structures/helper functions used by multiple subsystems.
**msg::** Extract message data from received raw messages.
**sqlite::** Contains sqlite database management related helper functions.