12个版本

0.4.2 2023年3月15日
0.4.1 2021年11月9日
0.3.2 2021年10月6日
0.3.1 2021年8月2日
0.1.0 2018年10月27日

#1109数据库接口

Download history 10/week @ 2024-04-02 2/week @ 2024-04-09

每月52次下载

LGPL-3.0+

370KB
8K SLoC

Rust 7K SLoC // 0.0% comments C 1.5K SLoC // 0.1% comments

tango-rs

此库是Tango控制系统服务器的客户端。它使用现有的C绑定(包含在内)并将API函数包装在Rust接口中。

设备代理API调用

  • command_inout
  • command_query
  • command_list_query
  • get_attribute_list
  • get_attribute_config
  • attribute_list_query
  • read/write_attribute
  • read/write_attributes
  • get/put/delete_device_property
  • get/set_timeout
  • get/set_source
  • lock/unlock/is_locked

数据库API调用

  • get_device_exported/_for_class
  • get_object_list
  • get_object_property_list
  • get/put/delete_property

构建

您需要一个带有头文件的已安装Tango库。如果默认情况下未找到,请将环境变量 PKG_CONFIG_PATH 设置为包含 tango.pc 的目录。

最小支持的Rust版本

此crate已测试到Rust 1.41.1。

Serde集成

当激活 serde 功能时,可以使用serde将 CommandDataAttrValuePropertyValue 类型进行序列化和反序列化。这允许它们快速转换为/从JSON等。

测试

要进行测试/基准测试,您需要一个运行在 localhost:10000 的Tango数据库,以及标准测试服务器的默认实例(TangoTest/test)。

然后,您可以运行 cargo test 来测试所有包装的API,以及运行 cargo bench 来测量 command_inout 往返的持续时间。

依赖关系

~0.6–1.3MB
~22K SLoC