2 releases

0.1.1 Mar 7, 2024
0.1.0 Mar 6, 2024

#1405 in Database interfaces

41 downloads per month

MIT license

11KB
200 lines

GlueSQL Shared Sled Storage

The stock SledStorage does not do concurrency. I added RwLock and transaction state on top of SledStorage to make it as easy to use as the stock SharedMemoryStorage.

  • RwLock: maintain each valid transaction, by prevent a new transaction while Sled is locked
  • TransactionState: prevent rollback, by avoiding/awaiting new transaction while another transaction that has begin but yet to commit

Set await_active_transaction as true to await for the active transaction to commit. Set false to just return error when there is active transaction.

Dependencies

~18–33MB
~506K SLoC