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::syncstructure that we decided on in pair programming session - In some limited cases (when there are no arguments) it uses
call_rawmethod. - Refactors a bit
check_vclock_and_sleep-Vclockinterface makes this function easier to write - Adds rust unit tests for some stored procs
Closes #274 (closed) Closes #175 (closed)
Edited by Егор Ивков