mirror of
https://github.com/EvernodeXRPL/sashimono.git
synced 2026-04-29 15:38:00 +00:00
2dfd7cf6bc4530fd7744c2a9ef0170a7663c0739
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
- Run
cmake .(You only have to do this once) - 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.
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.
Description
Languages
C++
34.7%
Shell
32.5%
JavaScript
32%
CMake
0.7%
C
0.1%