rtsisyk / tarantool-rust

!! Superseded by https://github.com/picodata/tarantool-module

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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

About

!! Superseded by https://github.com/picodata/tarantool-module

License:Other


Languages

Language:Rust 98.4%Language:Lua 1.6%