Skip to content
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

Bundle the transition to FLUSHCOMPLETE into a single function #5733

Open
3 tasks
colin-axner opened this issue Jan 25, 2024 · 2 comments · May be fixed by #6327
Open
3 tasks

Bundle the transition to FLUSHCOMPLETE into a single function #5733

colin-axner opened this issue Jan 25, 2024 · 2 comments · May be fixed by #6327
Labels
channel-upgradability Channel upgradability feature type: refactor Architecture, code or CI improvements that may or may not tackle technical debt.

Comments

@colin-axner
Copy link
Contributor

Summary

When transitioning to FLUSHCOMPLETE, two invariants MUST be true:

  • the counterparty timeout has not elapsed
  • there are no in-flight packets for our end to process

We have verified as the main branch stands today, the implementation is correct. To future proof maintenance, we can make this invariant easier to maintain by bundling these checks and state transitions into a single function. This may require some reworkings of the Ack and Confirm handlers as we currently check the timeout in the handler and perform the state transition in the write function


For Admin Use

  • Not duplicate issue
  • Appropriate labels applied
  • Appropriate contributors tagged/assigned
@colin-axner colin-axner added type: refactor Architecture, code or CI improvements that may or may not tackle technical debt. channel-upgradability Channel upgradability feature labels Jan 25, 2024
@hoangdv2429
Copy link
Contributor

Can I work on this issue sir ?

@crodriguezvega
Copy link
Contributor

@hoangdv2429 Sorry for the late reply: yes, you can work on this one. Thank you!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
channel-upgradability Channel upgradability feature type: refactor Architecture, code or CI improvements that may or may not tackle technical debt.
Projects
Status: No status
Development

Successfully merging a pull request may close this issue.

3 participants