Request for code review: PyO3 binding of tikv/raft-rs


I am currently working on porting the raft-rs library, called rraft-py, to Python.
I also plan to give a presentation on this work at PyCon KR 2023 in August.

However, since I have limited experience with low-level programming and exposing Rust references in Python data structures, I believe it would be immensely helpful to receive advice from Rust experts in these areas.

Currently, I have written all the harness test codes from raft-rs in Python, and they are passing successfully. However, throughout several code reviews, I have discovered several mistakes such as memory leaks and incorrect usage of unsafe code leading to undefined behavior.

I would greatly appreciate any advice from Rust experts who have a solid understanding of these aspects.

I keep studying various smart pointers from pyo3 and Rust, but I feel many parts are still unclear.
Even a single piece of advice would be invaluable to me.

Thank you.

This topic was automatically closed 90 days after the last reply. We invite you to open a new topic if you have further questions or comments.