Yuneta Directories#
The Yuneta SDK is structured into the following top folders:
docs: Documentation of Yuneta.
kernel: Kernel in several languages.
modules: Modules in several languages.
performance: Performance tests.
tests: Tests.
tools: Compilation or building tools.
utils: Utilities for Yuneta.
yunos: Yunos supplied by the SDK.
docs
#
doc.yuneta.io
: Yuneta’s Documentation built with:
kernel
#
The core framework of Yuneta, implemented in multiple languages.
C
:gobj-c
: G-Objects, implementation of classes and objects based on a simple Finite State Machine, attributes based on JSON, a comprehensive table of class methods, and an API to facilitate communication between objects through events, with an integrated publish/subscribe pattern.linux-ext-libs
: External libraries used byc/root-linux
. These are statically compiled and self-contained.root-esp32
: Kernel for the ESP32 microcontroller based onesp-idf
. List of components ordered by dependency (bottom = higher dependency):- esp_jansson - esp_gobj (depends on esp_jansson) - esp_yuneta (depends on esp_gobj) - esp_c_prot (depends on esp_yuneta)
It is only necessary to include the component with the highest dependency.
root-linux
: Kernel for Linux systems.timeranger2
: Timeranger2, a time-series key-value database using flat files.yev_loop
: Library for asynchronous input/output, built onio_uring
.ytls
: TLS library to manage encryption using multiple backends, such as OpenSSL and mbedTLS.
JS
:gobj-js
: Kernel implementation for JavaScript.
modules
#
Contains additional protocol and functionality modules.
C
:c_prot
: Module with several communication protocols.
performance
#
Performance testing utilities for key Yuneta components.
C
:perf_c_tcp
: Performance test of TCP-based gobjs.perf_c_tcps
: Performance test of TCP gobjs with encryption.perf_yev_ping_pong
: Performance test of theyev_loop
library.perf_yev_ping_pong2
: Additional performance tests for theyev_loop
library.
tests
#
Tests for Yuneta components.
C
: C tests are created using CMake and include:c_tcp
c_tcps
c_timer
c_timer0
timeranger2
tr_msg
tr_treedb
yev_loop
tools
#
Auxiliary tools for building and compiling Yuneta projects.
cmake
:Contains reusable CMake files and configurations.
utils
#
Utility scripts and CLI tools for Yuneta.
C
:fs_watcher
: Monitors filesystem changes.inotify
: Tracks file events using inotify.tr2keys
: Processes keys in Timeranger2.tr2list
: Lists entries in Timeranger2.tr2migrate
: Migrates data between Timeranger2 instances.
yunos
#
Pre-supplied full applications or utilities built with Yuneta.
gui_yunetas.js
: Graphical User Interface (GUI) for managing Yuneta.tui_yunetas.py
: Text-based User Interface (TUI) for managing Yuneta.