feat: introduce crate::sync module and its APIs
I decided to open a separate MR as a continuation of work done in !543 (closed) as I updated the commit history to be more fine-grained and be relevant even without squash.
The important updates are in fix: use vclock instead of lsn
commit:
- Uses the @rosik suggestion to use explicit request and response types instead of macro
- It continues with
crate::sync
structure that we decided on in pair programming session - In some limited cases (when there are no arguments) it uses
call_raw
method. - Refactors a bit
check_vclock_and_sleep
-Vclock
interface makes this function easier to write - Adds rust unit tests for some stored procs
Closes #274 (closed) Closes #175 (closed)
Edited by Егор Ивков