• 系统接口
    • log
    • logger
    • dump_comm
    • fire_event
    • fork
    • timeout
    • cancelable_timeout
    • exit
    • abort
    • now
    • time
    • start_time
    • yield
    • sleep
    • data_api
    • self_co
    • wait
    • wakeup
    • app_dir
    • app_sn
    • get_conf
    • set_conf
    • conf_api
    • version
    • gen_sn
    • hw_id
    • id
    • req
    • post
    • cleanup

    系统接口

    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()

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