系统事件

更新时间:
2024-05-06
下载文档

系统事件

本节介绍 AutoCode 的定时器事件、组件启动事件、连接事件。

创建系统事件

  1. 在组件编辑器视图工具 Event & Port 栏中可以选择事件与系统事件端口:

  2. 创建事件。

  3. 选择事件端口,添加到组件事件中,创建过程示意图:

说明:

创建组件时缺省将创建一个事件,组件中可以创建新的事件。事件类型是由输入端口事件类型确定。事件创建后,事件端口是空的,只有当事件添加输入口后事件才确定类型。

定时器事件

事件描述

定时器事件是 VSOA 定时器功能的抽象。定时器事件可以配置定时器开始计时时间和定时器周期。关于 VSOA 定时器设计更详细的内容可参考 VSOA-Timer

端口属性

定时器事件输入端口配置如下:

表 1 定时器事件输入端口说明

I/O 类型名称选项缺省值是否可配置说明
InputTypeTIMER/TIMERno输入端口类型
InputNametimer14/自动配置yes事件名称
InputStart1000/1000yes定时器开始启动时间(ms)
InputPeriod2000/2000yes定时器定时周期(ms)
InputReentranttruetrue, falsetrueyes会话可重入选项

Reentrant 属性:

  • 客户端连接事件是会话的第一个事件, 如果 Reentrant 属性配置为 false, 会话不可重入;当会话开始时将检查上次会话是否结束,如果上次会话未结束则中止当前会话。
  • 如果 Reentrant 属性配置为 true,允许会话重入。

事件接口

定时器事件没有输入参数,接口原型示例:

ac_result_t serc4_com1_event2_stimer_vreq_io(ac_t *acs);
  • acs: 会话上下文对象。

组件启动事件

功能描述

组件启动事件是组件初始化启动时调用的事件,用户可以在该事件中进行组件初始化设置,在输出端口发起 VSOA 请求。

端口属性

组件启动事件输入端口属性配置如下:

表 2 组件启动事件输入端口说明

I/O 类型名称选项缺省值是否可配置说明
InputTypeSYS_COMINIT/TIMERno输入端口类型
InputNamecominit8/自动配置yes事件名称
InputReentranttruetrue, falsetrueyes会话可重入选项

Reentrant 属性:

  • 客户端连接事件是会话的第一个事件, 如果 Reentrant 属性配置为 false, 会话不可重入;当会话开始时将检查上次会话是否结束,如果上次会话未结束则中止当前会话。
  • 如果 Reentrant 属性配置为 true,允许会话重入。

事件接口

组件启动事件没有输入参数,接口原型示例:

ac_result_t serc4_com1_event1_sinit_vreq_io(ac_t *acs);
  • acs: 会话上下文对象。

客户端连接事件

事件描述

VSOA 客户端连接或断开连接事件,该事件需要配制客户端所连接的的服务。客户端连接事件一个应用场景是当客户端断线重连接时,从服务端同步最新的数据。AutoCode 连接同步组件绑定了客户端连接事件,对该场景功能进行了封装,更多信息请参考连接同步组件

端口属性

客户端连接事件输入端口属性配置如下:

表 3 客户端连接事件输入端口说明

I/O 类型名称选项缺省值是否可配置说明
InputTypeSYS_CONN/SYS_CONNno输入端口类型
InputServiceserc2//yes客户端所连接的的服务
InputReentranttruetrue, falsetrueyes会话可重入选项
InputOptionconnectconnect, disconnect, change, firstConnectconnectyes事件触发类型

Reentrant 属性:

  • 客户端连接事件是会话的第一个事件, 如果 Reentrant 属性配置为 false, 会话不可重入;当会话开始时将检查上次会话是否结束,如果上次会话未结束则中止当前会话。
  • 如果 Reentrant 属性配置为 true,允许会话重入。

Option 属性:

  • connect: 客户端连接成功。
  • disconnect: 客户端断开连接。
  • change:连接状态变化(连接/断开)。
  • firstConnect: 第一次连接成功。

事件接口

客户端连接事件没有输入参数,接口原型示例:

ac_result_t serc3_com2_event1_sconnn_vreq_io(ac_t *acs, bool connect);
  • acs: 会话上下文对象。
  • connect: 客户端连接/断开连接。
文档内容是否对您有所帮助?
有帮助
没帮助