一种轻量级的技术,使DDS数据可以用Go访问。

227 阅读2分钟

rticonnextdds-connector-go

RTI Connector for Connext DDS

RTI Connectorfor Connext DDS是一种快速和简单的方式来访问
RTI Connext DDS
的力量和
功能。
它是

基于

XML的应用创建

和动态数据。

连接器是由RTI研究小组创建的,用于快速和容易地开发演示
和概念证明。它对任何需要
快速开发通过Connext DDS数据总线通信的应用程序
的人来说都是有用的

由于与多种编程语言的结合,你可以
与许多其他可用的技术
集成

连接器库以二进制形式提供给选定的架构。语言绑定和例子是以源格式提供的。

GoConnector利用cgo来调用其C库;
这个细节隐藏在Go包装器中。

开始使用

请确保你已经安装了golang(我们用golang v1.17测试)。

安装。

$ go get github.com/rticommunity/rticonnextdds-connector-go

导入。

import "github.com/rticommunity/rticonnextdds-connector-go"

关于使用细节,请看例子

静态构建

要静态构建你的应用程序,它需要RTI Connext DDS静态库(libnddscorez.a,libnddscz.a )。它们位于$NDDSHOME/lib/YOUR_ARCHITECTURE

$ cp $NDDSHOME/lib/YOUR_ARCHITECTURE/libnddscorez.a ./static_lib/YOUR_ARCHITECTURE/
$ cp $NDDSHOME/lib/YOUR_ARCHITECTURE/libnddscz.a ./static_lib/YOUR_ARCHITECTURE/

然后,你可以运行go build-tags static 来构建。

$ go build -tags static ./examples/simple/writer/writer.go

平台支持

GoConnector为一些特定的架构建立了它的库。如果你需要其他架构,请联系你的RTI客户经理或sales@rti.com。

如果你想检查库的版本,你可以运行以下命令。

strings librtiddsconnector.so | grep BUILD

线程模型

ConnectorNative API还没有实现任何线程安全的机制。最初,Connector的本地代码是为了与RTI Prototyper和Lua一起工作而构建的。那是一个单线程的循环。然后,RTI引入了对JavaScript、Python和Go的支持。现在,你要负责保护对Connector的调用。线程安全
可能会在未来实现。

支持

Connector是一个实验性的RTI产品。如果你有问题,请使用RTI社区论坛。如果你想报告一个错误或有一个功能请求,请创建一个问题

文档

开始使用Connector的最好方法是看
例子;你会发现它非常容易使用。

请看API文档以了解更多信息。

贡献

我们非常感谢对代码、示例和文档的贡献。请按照以下步骤进行贡献。

  1. 签署CLA
  2. 创建一个分叉,并作出你的修改。
  3. 运行测试和linters(make test lint)。
  4. 推送你的分支。
  5. 打开一个新的拉动请求

GitHub

github.com/rticommunit…