-
Notifications
You must be signed in to change notification settings - Fork 945
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Propagate backpressure to the transport channel #394
Backpressure of reactive commands, more specific the missing demand, is propagated to the channel. Reactive commands receive a batch of data and are queried whether they still have a demand for data or whether their demand is satisfied (because of no demand/saturated demand). A command without demand will disable further channel reads until the command is completed/canceled or signals further demand. A significant amount of unread data will eventually cause the TCP receive buffer to overflow. This change moves the buffer responsibility away from the application into the operating system layer which requires then appropriate receive buffer sizing. On the other side, the application is protected against buffer overflows inside the application and reduces the memory footprint because of a reduced amount of data that is held inside the application.
- Loading branch information
Showing
8 changed files
with
430 additions
and
77 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.