Rust Language for Tarantool
Switch branches/tags
Nothing to show
Clone or download
Latest commit fc23b25 Jan 22, 2017
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
src Initial import Jan 22, 2017
.gitignore Initial import Jan 22, 2017
.travis.yml Enable Travis CI Jan 22, 2017
CONTRIBUTORS.md Initial import Jan 22, 2017
Cargo.toml Enable Travis CI Jan 22, 2017
LICENSE.md Initial import Jan 22, 2017
README.md Enable Travis CI Jan 22, 2017
test.lua Initial import Jan 22, 2017

README.md

Rust for Tarantool

Tarantool Rust License Build Status

A proof-of-concept Rust module for Tarantool.

This example demonstrates how to use Rust Programming Language to write stored procedures for Tarantool.

Tarantool is a full-featured general-purpose database and an application server.

Rust is a systems programming language that runs blazingly fast, prevents segfaults, and guarantees thread safety.

Prerequisites

  • Tarantool 1.6.8+
  • rustc 1.14.0 and cargo 0.15.0 (other versions untested)
sudo apt-get -y install rustc cargo

Usage

git clone https://github.com/rtsisyk/tarantool-rust.git
cargo build
./test.lua
rust fiber 102: before sleep
rust fiber 103: before sleep
rust fiber 104: before sleep
rust fiber 105: before sleep
rust fiber 106: before sleep
rust fiber 102: after sleep
rust fiber 102: before sleep
rust fiber 103: after sleep
rust fiber 103: before sleep

The example above demonstrates that Rust libraries can be used inside Tarantool without any conflicts with cooperative-multistasking model implemented by Tarantool.

Future Plans

  • Implement Rust-friendly wrappers for Fibers, Box and other Tarantool API
  • Add examples
  • Write documentation

Fall in love with Tarantool? Wanna learn Rust?

Your contribution is needed!

Feel free to contact us on Telegram channel or send a pull request.

See Also