Skip to content
This repository has been archived by the owner. It is now read-only.
master
Switch branches/tags
Go to file
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
src
 
 
 
 
 
 
 
 
 
 
 
 
 
 

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