gschup / ggrs

GGRS is a reimagination of GGPO, enabling P2P rollback networking in Rust. Rollback to the future!
Other
507 stars 25 forks source link

feat: DesyncDetection For P2PSessions #50

Closed HeatXD closed 1 year ago

HeatXD commented 1 year ago

These changes refer to #46

What has been done I found this feature also useful for my personal project. Currently its sends ChecksumReports at an specified rate to the other peers and whenever a discrepancy is found, it sends a DesyncDetected event to the user with information such as the given frame, mismatched checksums and the remote peer address.

I seek help in Maybe the improvement of any codestyle or patterns . How should I handle the rate of events? currently it sends an event at every chance it gets if a desync is found. How should I incorporate this so this becomes a feature the user can opt-in for.

How did I test this I made 2 builds of the ex_game example one with higher movement speed than the other.

HeatXD commented 1 year ago

Hopefully this fixes a lot of the concerns. i can work on this until next week because by then my minor starts.

gschup commented 1 year ago

Thank you for your work @HeatXD ! Thanks to @johanhelsing s great reviews, this PR has already evolved a lot. I will take a more careful look in the coming week, but on first glance, this looks very nice!