系统接口

FreeIOE框架提供的系统类型接口。

log

function sys:log(level, …)

记录应用日志。 level是字符串类型,可用值:trace, debug, info, notice, warning, error, fatal.

  1. sys:log("debug", "this is a log content")

logger

function sys:logger()

获取logger实例。 实例包含:trace, debug, info, notice, warning, error, fatal. 例如:

  1. local log = sys:logger()
  2. log:debug("this is a log content")

dump_comm

function sys:dump_comm(sn, dir, …)

记录应用报文。 sn是应用创建的设备序列号/为空时代表设备无关报文。参考device 中的dump_comm函数。 dir是报文方向: IN, OUT。

fire_event

function sys:fire_event(sn, level, type, info, data, timestamp)

记录应用事件。 sn是应用创建的设备序列号。level是事件等级的整数,type是事件类型(如果是字符串类型则是自定义类型),info是事件描述字符串,data是时间附带数据,timestamp是时间戳。

fork

function sys:fork(func, …)

创建独立携程,入口执行函数func. 后面是变参参数。

  1. sys:fork(function(a)
  2. print(a)
  3. end, 1)

其中a是传入的参数1

timeout

function sys:timeout(ms, func)

创建延迟执行携程, ms为延迟时间(单位是毫秒), func为携程入口函数。

cancelable_timeout

function sys:cancelable_timeout(ms, func)

创建可以取消的延迟携程,返回对象是取消函数

  1. local timer_cancel = sys:cancelable_timeout(...)
  2. timer_cancel()

exit

function sys:exit()

应用退出接口。请谨慎使用。

abort

function sys:abort()

系统退出接口,调用此接口会导致FreeIOE系统退出。 请谨慎调用。

now

function sys:now()

返回操作系统启动后的时间计数。 单位是微妙,最小有效精度是10毫秒。

time

function sys:time()

获取系统时间,单位是秒,并包含两位小数的毫秒。

start_time

function sys:start_time()

系统启动的UTC时间,单位是秒。

yield

function sys:yield()

交出当前应用对CPU的控制权。相当与sys:sleep(0)。

sleep

function sys:sleep(ms)

挂起当前应用, ms是挂起时常,单位是毫秒

data_api

function sys:data_api()

获取数据接口,参考api

self_co

function sys:self_co()

获取当前运行的携程对象

wait

function sys:wait()

挂起当前携程,结合sys:wakeup使用

wakeup

function sys:wakeup(co)

唤醒一个被sys:sleep或sys:wait挂起的携程。

app_dir

function sys:app_dir()

获取当前应用所在的目录。

app_sn

function sys:app_sn()

获取当前应用的序列号。

get_conf

function sys:get_conf(default_config)

获取应用配置,default_config默认配置

set_conf

function sys:set_conf(config)

设定应用配置

conf_api

function sys:conf_api(conf_name, ext, dir)

获取云配置服务接口。 具体参考conf_api

version

function sys:version()

获取应用版本号。返回应用ID和应用版本

  1. local app_id, version = sys:version()
  2. print(app_id, version)

gen_sn

function sys:gen_sn(dev_name)

生成独立的设备序列号,dev_name为设备名称,必须指定。

hw_id

function sys:hw_id()

获取FreeIOE设备序列号

id

function sys:id()

获取FreeIOE连接云平台所用的序列号(此ID可不同与设备序列号)

req

function sys:req(msg, …)

发送同步请求,相应函数为app.response或者app.onreq函数

post

function sys:post(msg, …)

发送异步请求,相应函数为app.accept或者app.onpost函数

cleanup

function sys:cleanup()

应用清理接口(会自动被调用,请勿使用)