-
Notifications
You must be signed in to change notification settings - Fork 950
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
refactor(noise): modify message framing #4548
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thank you! That is great progress and one can already see that the implementation will become much simpler with this.
I've left some comments with a few ideas! :)
Co-authored-by: Thomas Eizinger <thomas@eizinger.io>
Want to take a look at this? @thomaseizinger . I made the changes we discussed |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Co-authored-by: Thomas Eizinger <thomas@eizinger.io>
The interoperability tests seem to be failing repeatedly with our previously released version. I'll look into that! |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for this, very clean PR :)
Mind fixing up the remaining CI failures regarding the docs? I've restarted the interop tests to see whether they pass this time. They've been very stable recently though so I'd be surprised if that is just a flake this time.
Weirdly, interop seems to be fine with all the other versions, it is just our previously release that is acting up!
Co-authored-by: Thomas Eizinger <thomas@eizinger.io>
102f58c
to
0da7740
Compare
I looked into the incompatibility issues and it turns out the problem was that the That fixed some of the errors but there seem to be more problems ... |
I noticed that with the structure of nesting codec's, we can reuse buffers properly because Rust can't detect that we don't have overlapping mutable borrows. So out of interest, I tried to refactor this to use free functions instead and pass the buffers in which does work! I also investigated the incompatibility issues locally and thought I had fixed them too because they pass locally but now they are failing again in CI 🙄 These aren't normally flaky so there must be something wrong still. |
Okay, tiny progress: The error happens when this PR is the listener in the ping interop test. |
Found the issue! We were dropping the read and write buffers when mapping the codec and thus threw away data the remote had already sent us as part of being in |
I had to change another thing in |
Thanks for engaging with this @thomaseizinger. Much appreciated! |
@0xcrust We have a new release of |
Sure! Will do in a bit |
Friendly ping @mxinden. This is ready for review! |
This comment was marked as resolved.
This comment was marked as resolved.
Merging here because it is passing tests and it will otherwise go stale again. Obviously still feel free to review this post-merge @mxinden. |
Approvals have been dismissed because the PR was updated after the send-it
label was applied.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thank you for the work here. Great to see these manually implemented state machines removed.
Description
Resolves #4488.
Notes & open questions
Change checklist