Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/rtsisyk/tarantool-rust
!! Superseded by https://github.com/picodata/tarantool-module
https://github.com/rtsisyk/tarantool-rust
rust rust-language tarantool
Last synced: 3 months ago
JSON representation
!! Superseded by https://github.com/picodata/tarantool-module
- Host: GitHub
- URL: https://github.com/rtsisyk/tarantool-rust
- Owner: rtsisyk
- License: other
- Archived: true
- Created: 2017-01-22T10:03:46.000Z (almost 8 years ago)
- Default Branch: master
- Last Pushed: 2020-11-30T16:51:45.000Z (about 4 years ago)
- Last Synced: 2024-09-25T20:16:56.888Z (3 months ago)
- Topics: rust, rust-language, tarantool
- Language: Rust
- Homepage:
- Size: 10.7 KB
- Stars: 46
- Watchers: 9
- Forks: 6
- Open Issues: 4
-
Metadata Files:
- Readme: README.md
- License: LICENSE.md
Awesome Lists containing this project
README
# Rust for Tarantool
[![Tarantool][tarantool-badge]][Tarantool]
[![Rust][rust-badge]][Rust]
[![License][license-badge]][license-url]
[![Build Status][travis-badge]][travis-url]A proof-of-concept **Rust** module for **Tarantool**.
This example demonstrates how to use [Rust Programming Language][Rust]
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)```bash
sudo apt-get -y install rustc cargo
```## Usage
```bash
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](src/module.rs) Tarantool API
* Add examples
* Write documentation[][Telegram]
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
--------* [Tarantool]
* [Rust]
* [Maillist]
* [Telegram]
* [email protected][tarantool-badge]: https://img.shields.io/badge/Tarantool-1.7-blue.svg?style=flat
[Tarantool]: https://tarantool.org/
[rust-badge]: https://img.shields.io/badge/Rust-1.14.0-black.svg?style=flat
[Rust]: https://www.rust-lang.org
[license-badge]: https://img.shields.io/badge/License-BSD--2-lightgray.svg?style=flat
[license-url]: LICENSE.md
[travis-badge]: https://api.travis-ci.org/rtsisyk/tarantool-rust.svg?branch=master
[travis-url]: https://travis-ci.org/rtsisyk/tarantool-rust
[Telegram]: http://telegram.me/tarantool
[Maillist]: https://groups.google.com/forum/#!forum/tarantool