Git Product home page Git Product logo

vrpn-rs's Introduction

VRPN-RS

An async-capable port of the VRPN protocol to Rust.

Maintained at https://github.com/vrpn/vrpn-rs

Currently highly experimental and not entirely operational.

Usage

This library uses Rust 2018, and thus, as of 14-Nov-2018, requires the use of the "beta" channel.

Add vrpn as a dependency to your Cargo.toml file:

[dependency]
vrpn = "0.1.0"

Then add the following to your crate's root:

extern crate vrpn;

Right now, all the top-level APIs for connections/endpoints use Tokio for async IO, but most of the project is independent of Tokio, so an alternative IO integration could be created.

Testing

There are numerous tests. The default batch can be run with

cargo test

Some tests are ignored by default because they require a running VRPN server, exposing a "NULL Tracker" named Tracker0, on the local host and default port. If you have that, then you can run

cargo test -- --ignored

to run every test.

Contributing

Please read CONTRIBUTING.md for details on our code of conduct, and the process for submitting pull requests to us.

Primary Authors and Contributors

  • Ryan Pavlik - Initial work - @rpavlik on many platforms

License

The license for most of the code in this repository is the Boost Software License 1.0 - this is a very permissive free-software licence also used by the mainline VRPN repository. This license is used to permit free interchange of code between this codebase and the mainline C++ codebase.

One file (as of the time of this writing) is under the OSI-approved MIT license, because it is based closely on some sample code from the Tokio async framework for Rust.

Dependencies used via Cargo have their own licenses.

All files have SPDX-License-Identifier tags.

All contributions will be considered to be under the license noted in the changed file's or files' SPDX tags.

Acknowledgments

  • Collabora for supporting Ryan's development and maintenance of this code in the course of his work.
  • Thanks and acknowledgements to Russ M. Taylor, III, and the other authors and contributors of the VRPN package, for pioneering a widely-used de-facto standard in input/output, useful particularly but not exclusively in immersive computing.
  • Thanks to PurpleBooth's excellent template/advice for structuring a README

Copyright and License for this README.md file

For this file only:

Initially written by Ryan Pavlik. Copyright 2018 Collabora, Ltd.

SPDX-License-Identifier: CC-BY-4.0

vrpn-rs's People

Contributors

rpavlik 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.