You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
We should reason about in-flight packets which would occur when a chain upgrades from the old port router design to the new. I am particularly interested in async acknowledgement handling as that should be the main area which could be problematic. To handle this, we may need to add a one time interface which has a middleware migrate given this circumstance.
For Admin Use
Not duplicate issue
Appropriate labels applied
Appropriate contributors tagged/assigned
The text was updated successfully, but these errors were encountered:
We are particularly concerned about in-flight acknowledgements. Because of async processing, we might have partial logic executed (OnRecvPacket calls) and after the upgrade be using the new processing logic. One solution that comes to mind is to repurpose the existing WriteAcknowledgement ICS4Wrapper function to be called by the core keeper if we are processing a packet which came from the old logic.
That is, if we were not expecting an async ack from a certain channel/packet, then we should call OnWriteAcknowledgement as a sort of migration handler for that packet, indicating to the application it was processed via OnRecvPacket using an older version, and now we are processing it async on the new version
Summary
We should reason about in-flight packets which would occur when a chain upgrades from the old port router design to the new. I am particularly interested in async acknowledgement handling as that should be the main area which could be problematic. To handle this, we may need to add a one time interface which has a middleware migrate given this circumstance.
For Admin Use
The text was updated successfully, but these errors were encountered: