EmxCore

EMX的核心模块 更多...

EmxCore 的协作图:

模块

 EmxTypeDef
 一些常用的数据类型定义
 
 EmxGpio
 关于GPIO的通用操作接口
 
 EmxLog
 日志接口
 
 EmxMsg
 进程间通信接口
 
 EmxParam
 统一的加密参数存取接口
 
 EmxUV
 对于libuv的封装,提供了线程池,定时器,异步操作等接口
 
 EmxUtils
 一些常用的工具函数
 

详细描述

  EmxCore是整个SDK运行的基础,提供EmxCoreServer服务程序,实现了进程间通信的转发服务,参数的加密存取服务,日志的收集和输出服务,提供libEmxCore.so动态库,方便用户使用这些服务。用户使用的时候只需要include头文件EmxCore.hpp以及连接libEmxCore.so动态库即可。

EmxCoreServer启动时会去加载core.json文件并读取其中的配置信息,各项配置信息含义如下:

{
"log": {
"output": false,
"shared": {
"async": false,
"level": 5
},
"normal": {
"maxSizeKB": 128,
"path": "/tmp/eapilNormal.log"
},
"flash": {
"maxSizeKB": 32,
"path": "/tmp/eapilFlash.log"
}
},
"param": {
"normal": "/root/param/normal",
"backup": "/root/param/backup",
"default": "/root/app/configs/param"
}
}
字段 含义
log 日志服务相关配置参数
log.output 是否启动第三方日志收集,主要用于第三方厂商使用本模块时便于收集日志
true:启动,日志服务将收集到的日志通过AF_UNIX的方式转发到固定的端口,日志服务将不进行本地的normal/flash等日志的本地存储
false:不启动
log.shared 各个使用日志模块进程间通过共享内存方式共享的配置参数
log.shared.async true:以异步的方式进行日志的打印,各个进程日志产生后会非阻塞方式发送到日志服务程序,然后调用printf进行打印
false:以同步方式进行日志打印,各个进程日志产生后会直接调用printf进行打印
log.shared.level 0:CRT 紧急
1:ERR 错误
2:WARN 告警
3:INFO 关键
4:DEBUG 调试
5:TRACE 跟踪
log.normal 普通日志相关配置参数
log.normal.maxSizeKB 普通日志文件最大Size,单位KB,-1表示无限制
log.normal.path 普通日志文件存储路径
log.flash 持久化存储日志相关配置参数
log.flash.maxSizeKB 持久化存储日志文件最大Size,单位KB,-1表示无限制
log.flash.path 持久化存储日志文件存储路径
param 参数配置服务相关参数
param.normal 正常参数保存目录路径
param.backup 备份参数保存目录路径
param.default 默认参数目录路径