Coder Social home page Coder Social logo

trendingtechnology / rticonnextdds-connector-go Goto Github PK

View Code? Open in Web Editor NEW

This project forked from rticommunity/rticonnextdds-connector-go

0.0 2.0 0.0 80.23 MB

RTI Connector for Connext DDS is a lightweight technology that enables DDS data to be accessed with Go.

License: Other

C 70.96% Go 26.14% Shell 0.17% Lua 0.51% Roff 1.41% Dockerfile 0.24% Makefile 0.57%

rticonnextdds-connector-go's Introduction

rticonnextdds-connector-go

GoDoc Build Status Coverage Go Report Card

RTI Connector for Connext DDS

RTI Connector for Connext DDS is a quick and easy way to access the power and functionality of RTI Connext DDS. It is based on XML-Based Application Creation and Dynamic Data.

Connector was created by the RTI Research Group to quickly and easily develop demos and proofs of concept. It can be useful for anybody that needs a quick way to develop an application communicating over the Connext DDS Databus. Thanks to the binding with multiple programming languages, you can integrate with many other available technologies.

The Connector library is provided in binary form for select architectures. Language bindings and examples are provided in source format.

Go Connector leverages cgo to call its C library; this detail is hidden in a Go wrapper.

Getting started

Be sure you have golang installed (we tested with golang v1.17).

Install:

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

Import:

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

Please see examples for usage details.

Static Build

To build your application statically, it requires RTI Connext DDS static libs (libnddscorez.a, libnddscz.a). They are located in $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/

Then, you can run go build with -tags static to build.

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

Platform support

Go Connector builds its library for few select architectures. If you need another architecture, please contact your RTI account manager or [email protected].

If you want to check the version of the libraries you can run the following command:

strings librtiddsconnector.so | grep BUILD

Threading model

The Connector Native API does not yet implement any mechanism for thread safety. Originally, the Connector native code was built to work with RTI Prototyper and Lua. That was a single-threaded loop. RTI then introduced support for JavaScript, Python, and Go. For now, you are responsible for protecting calls to Connector. Thread safety may be implemented in the future.

Support

Connector is an experimental RTI product. If you have questions, please use the RTI Community Forum. If you would like to report a bug or have a feature request, please create an issue.

Documentation

The best way to get started with Connector is to look at the examples; you will see that it is very easy to use.

Please see the API documentaiton for more information.

Contributing

Contributions to the code, examples, documentation are really appreciated. Please follow the steps below for contributions.

  1. Sign the CLA.
  2. Create a fork and make your changes.
  3. Run tests and linters (make test lint).
  4. Push your branch.
  5. Open a new pull request.

rticonnextdds-connector-go's People

Contributors

fgaranda avatar kyoungho avatar metarsit avatar metarsit-nutonomy avatar rkorte avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.