All Projects → KeenS → transaction-rs

KeenS / transaction-rs

Licence: other
The transaction abstraction library and its executors for rust

Programming Languages

rust
11053 projects

Projects that are alternatives of or similar to transaction-rs

serial test
Allows for the creation of serialised Rust tests
Stars: ✭ 105 (+556.25%)
Mutual labels:  rust-library
murmur3
A rust implementation of murmur3
Stars: ✭ 48 (+200%)
Mutual labels:  rust-library
rs-process-memory
A rust library that allows you to read/write into the memory of other processes
Stars: ✭ 63 (+293.75%)
Mutual labels:  rust-library
trickster
user-friendly linux memory hacking library
Stars: ✭ 50 (+212.5%)
Mutual labels:  rust-library
warc
⚙️ A Rust library for reading and writing WARC files
Stars: ✭ 26 (+62.5%)
Mutual labels:  rust-library
digitalocean
A prototype API for Digital Ocean.
Stars: ✭ 35 (+118.75%)
Mutual labels:  rust-library
lonlat bng
A multithreaded Rust library with FFI for converting WGS84 longitude and latitude coordinates into BNG (OSGB36) Eastings and Northings and vice versa (using OSTN15)
Stars: ✭ 20 (+25%)
Mutual labels:  rust-library
tokensubscription.com
⏰💰🤠 Set-it-and-forget-it token subscriptions on the Ethereum mainnet. #Winner #WyoHackathon
Stars: ✭ 81 (+406.25%)
Mutual labels:  transaction
bmemcached-rs
Rust binary memcached implementation
Stars: ✭ 24 (+50%)
Mutual labels:  rust-library
aktors
Rust actor library with a bit of inspiration from Akka/Pykka
Stars: ✭ 44 (+175%)
Mutual labels:  rust-library
altcoin-bitcoin-explorer
PHP Altcoin/Bitcoin Data Explorer
Stars: ✭ 19 (+18.75%)
Mutual labels:  transaction
ethereum-tx
Ethereum transaction library in PHP.
Stars: ✭ 144 (+800%)
Mutual labels:  transaction
neo4j-php-client
Php client and driver for neo4j database
Stars: ✭ 95 (+493.75%)
Mutual labels:  transaction
k2hash
K2HASH - NoSQL Key Value Store(KVS) library
Stars: ✭ 33 (+106.25%)
Mutual labels:  transaction
meyda-rs
This may become an audio feature extraction library for Rust.
Stars: ✭ 15 (-6.25%)
Mutual labels:  rust-library
dtm
A distributed transaction framework that supports multiple languages, supports saga, tcc, xa, 2-phase message, outbox patterns.
Stars: ✭ 6,110 (+38087.5%)
Mutual labels:  transaction
fixie-trie
Compact tries for fixed-width keys
Stars: ✭ 23 (+43.75%)
Mutual labels:  rust-library
envmnt
Environment variables utility functions.
Stars: ✭ 16 (+0%)
Mutual labels:  rust-library
tokio-linux-aio
Support for Linux kernel aio within Tokio.
Stars: ✭ 49 (+206.25%)
Mutual labels:  rust-library
maildir
A simple library to deal with maildir folders
Stars: ✭ 19 (+18.75%)
Mutual labels:  rust-library

transaction-rs

The transaction abstraction library and its executors.

This crate abstracts over transactions like STM, SQL transactions and so on. It is composable via combinators and does DI of transactions.

The basic idea is representing contracts of "this computation must be run under a transaction" as types. The trait Transaction represents a sequence of computation that must be run under a transaction. And transactions are composable (sequencable) using then, and_then, or_else, hence you can use it like values wrapped in Result. Since it represents computation to be run in data, some types respond to control operators are provided: abort for ?, repeat for for, loop_fn for loop and branch for (join point of) if and so on. As all the combinators have its own result type, no dispatches are done at execution time thus it is zero-cost.

Another feature is it does DI of transaction. For database transaction, it means that it injects DB connection from the context.

See transaction-stm/examples or transaction-diesel/examples for usage.

Documentatins

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].