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
As a Transport layer, I want to know which messages are optional and which messages are mandatory so I can make the right policy decision when my queue is full or the SocketDescriptor fails a full write.
Definition of Done:
Optimal messages identified
Policy decision made on if/when items should be dropped
Unit tests updated to drop optional messages during flow control
Tech Discussion:
TODO from the codebase:
// TODO: There are some DoS attacks here where you can flood someone's outbound send
// buffer by doing things like announcing channels on another node. We should be willing to
// drop optional-ish messages when send buffers get full!
The current OutboundQueue allows the message path to push messages over the soft limit (the sync messages are the only things that care about the soft limit).
Seems like an update to the Transport API makes the most sense. Potentially adding a priority number or classification to each enqueue_message() where the Transport layer can make the policy decision to drop it if necessary.
The Transport unit tests should be easily updated to test this behavior.
The text was updated successfully, but these errors were encountered:
Uh oh!
There was an error while loading. Please reload this page.
As a Transport layer, I want to know which messages are optional and which messages are mandatory so I can make the right policy decision when my queue is full or the SocketDescriptor fails a full write.
Definition of Done:
Tech Discussion:
TODO from the codebase:
The current OutboundQueue allows the message path to push messages over the soft limit (the sync messages are the only things that care about the soft limit).
Seems like an update to the Transport API makes the most sense. Potentially adding a priority number or classification to each
enqueue_message()
where the Transport layer can make the policy decision to drop it if necessary.The Transport unit tests should be easily updated to test this behavior.
The text was updated successfully, but these errors were encountered: