Batch messages sent over Comms link #3025
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Proposed changes
Currently, the Comms layer in the runtime will batch up events to send to the editor in a 50ms timer and then send the whole lot in one go. That helps to reduce the work done by not sending each event as its own packet over the websocket.
With the Flow Debugger, it is now possible to get a huge storm of events all queued up to send which get sent in one go. This has the problem of dumping a huge workload on the editor in a single message.
This PR modifies the runtime side of comms to send no more than 50 events per message, with the 50ms pause between message. This should give the editor some breathing space when such storms occur.
Checklist
grunt
to verify the unit tests pass