Skip to content
Snippets Groups Projects
  1. Feb 14, 2022
  2. Feb 11, 2022
  3. Feb 10, 2022
  4. Feb 09, 2022
  5. Feb 07, 2022
  6. Feb 04, 2022
  7. Feb 01, 2022
  8. Jan 31, 2022
  9. Jan 28, 2022
  10. Jan 26, 2022
    • Yaroslav Dynnikov's avatar
      chore: reorganize rust modules · 61ea1dfe
      Yaroslav Dynnikov authored
      For ambiguous concepts (such as Entry, Message) use prefix notation instead of suffixes.
      Verified
      61ea1dfe
    • Yaroslav Dynnikov's avatar
      Incapsulate raw raft node · c2d6a43c
      Yaroslav Dynnikov authored
      This patch eliminates raw raft node dereferencing and redundant use of
      `borrow_mut()`.  Instead, `traft::Node` provides a safe API that
      communicates with the raw node through the fiber channel.
      
      Also, functions `node::new` and `node::start` are merged because keeping
      them distinct makes no sense.
      Verified
      c2d6a43c
    • Yaroslav Dynnikov's avatar
      Refactor stash · f7de661b
      Yaroslav Dynnikov authored
      As we recently discovered, Tarantool has a peculiarity - when calling
      stored procedures with `{language = "C"}` option, it disregards the
      shared object (`.so` / `.dylib`) already loaded by Lua and makes the
      second independent `dlopen`. As a result, Lua and C stored procedures
      can't share state, because even static variables point to different
      memory locations.
      
      As a workaround, this patch provides the API for hiding the state inside
      `lua_State`. Under the hood, the stash consumes a custom struct and
      leaks the wrapping box. Inside Lua, it's represented by a userdata,
      which the `access()` function provides access to.
      Verified
      f7de661b
    • Yaroslav Dynnikov's avatar
      chore: code duplication · 795208c1
      Yaroslav Dynnikov authored
      Use publicly available `tarantool::global_lua` instead of the self-made
      implementation.
      Verified
      795208c1
  11. Jan 20, 2022
    • Sergey V's avatar
      refactor: traft Storage · caf78484
      Sergey V authored and Yaroslav Dynnikov's avatar Yaroslav Dynnikov committed
      caf78484
    • Yaroslav Dynnikov's avatar
      feature: run inner tests with cargo · 404f7851
      Yaroslav Dynnikov authored
      Tarantool specificities make it difficult to set up usual rust tests.
      Picolib is coupled with tarantool symbols and compiled as a dylib, so
      it can't be linked to a stand-alone binary.
      
      This patch introduces another way of testing.
      
      All tests (called inner) are already built into dylib and exposed in
      the tarantool console:
      
      ```
      tarantool> picolib.test
      ---
      - test_version: 'function: 0x41f32400'
        test_traft_storage_RaftEntryRow: 'function: 0x41f32550'
      ...
      ```
      
      The new integration test `inner.rs` iterates over them and runs each
      one in a separate tarantool instance.
      
      See also: commit 6610e5cb
      404f7851
    • Sergey V's avatar
      refactoring: move picolib::Message · aa3d29ad
      Sergey V authored and Yaroslav Dynnikov's avatar Yaroslav Dynnikov committed
      Originally it was `picolib::traft::storage::Message`.
      Now it's simply `picolib::Message`.
      aa3d29ad
  12. Jan 19, 2022
  13. Jan 18, 2022
  14. Jan 17, 2022
  15. Dec 28, 2021
  16. Dec 24, 2021
  17. Dec 20, 2021
Loading