## xCom Library
xCom Library 是 DXMesh 应用组件 DXC(DXMesh Componet),开发库。将 xPort 注入的接口,封装成 Rust 的 async 接口。提供 async 运行时,以及将 [Common](https://gitee.com/DXmesh/Common) 接口导出给 DXC 使用。
## DXC 构建方法
- 在任一目录下 下载代码, 命令如下:
```git
git clone https://gitee.com/DXmesh/xComLib.git
```
- 在同级目录下 下载 [公共代码库 Common](https://gitee.com/DXmesh/Common) 代码,命令如下:
```git
git clone https://gitee.com/DXmesh/Common.git
```
- 在同级目录下 下载 [xCom Builder](https://gitee.com/DXmesh/xComBuilder.git) 生成器工程 ,命令如下:
```
https://gitee.com/DXmesh/xComBuilder.git
```
### 编译
- 进入 xComBuilder 工程,执行命令:
```
cargo build
```
然后将在 target/build 目录下的 dxc.exe/dxc 文件设置到全局的环境变量中。
### 创建工程
在统计目录下,创建任一目录,以工程名命名的目录(必须为英文), 如以下例子:
```
mkdir demo1 # 常见目录
cd demo1 # 进入目录
dxc new -n Demo1 # 创建工程
dxc init # 初始化工程
```
会生成以下文件:
```
│ Cargo.toml
│
├─protos
│ source_api_0_0_1.proto
│
└─src
│ lib.rs
│ service.rs
│
└─x_com
import_api.rs
mod.rs
source_api.rs
xport_core.rs
```
#### 目录说明
- protos
- source_api_0_0_1.proto 为工程接口的描述文件
- src/x_com
- import_api.rs 调用其他 DXC 接口的代码
- source_api.rs 自身接口所用结构体序列化/反序列化代码
- xport_core.rs 导出 DXC 组件初始化/结束/以及消息分发的函数
- src/service.rs
该文件根据 source_api_0_0_1.proto 生成的 接口文件,所有的逻辑代码都在此开发。