improve backpressure/flow control
mpenet opened this issue · 0 comments
Jetty9 allows control over this and it was overlooked on first releases, let's fix this!
The main idea is that acknowledged puts indicate succes delivery in write mode, and in read we wont feed the input channel until reads from it. That means that a user who checks return values of operations on a channel will be able to do proper flow control, otherwise he'll be bound by the kind of buffer used (if any provided other than the default) and/or the internal core.async put queue size. This should satisfy everybody, as you can work in sync or write faster than delivery if you dont' care (you should care).
websocket
- read:
http://download.eclipse.org/jetty/stable-9/apidocs/org/eclipse/jetty/websocket/api/Session.html#suspend()
http://download.eclipse.org/jetty/stable-9/apidocs/org/eclipse/jetty/websocket/api/SuspendToken.html - write: write methods block in jetty api, respect that
server
http://download.eclipse.org/jetty/stable-9/apidocs/org/eclipse/jetty/server/HttpOutput.html
http://download.eclipse.org/jetty/stable-9/apidocs/org/eclipse/jetty/server/HttpInput.html