Use same reconnect logic for Push as for XHR (#17075)
* No longer queue message separately in PushConnection
* Use XHR for client to server communication when using long polling (or streaming)
* Websocket is used for communication in both directions
Note that using XHR for client to server responses at the same time
as a push connection is open means we must take into account on the
client side that we may receive message in the wrong order. This
will be addressed in the following change.
Change-Id: I97706db3481379593e71dc5bb552727a0486692b
* Add PushConnection interface and rename old class to
AtmospherePushConnection
* Define deferred binding to use AtmospherePushConnection by default
* Redesign connection and disconnection workflow to better cope with
situations where connection is quickly toggled
Change-Id: I9b9427c2df40d446a25895eb39e7b166cb929a85
For optimal performance, the script will still be included in the host
HTML if push is enabled when the UI is bootstrapped.
Change-Id: I2245b45434f3097c32fd3580267f692dce3b7649
Replaced Atmosphere portal implementation with the jQuery implementation (#11629)
* jquery-1.7.2.rebased.js and jquery.atmosphere.rebased.js are imported from atmosphere-jquery and updated to use the jQueryVaadin namespace instead of jQuery and $
Change-Id: I1461ac7803e90d2a40b390551023a118ed5dc704
* Asynchronous bidirectional communication
* Use Atmosphere as a backend
* Use websockets if available, fallback to HTTP streaming
* Push mode (disabled, manual, automatic)
* Configurable via servlet parameter pushMode
* Disabled: The default; regular AJAX communication
* Manual: Need explicit UI.push() call
* Automatic: push all UIs in session when lock released
* UI.push()
* Push pending state and RPC to client asynchronously
* Must hold session lock when invoking
Change-Id: Idb5978ac81f7ff1e66665df4e3f96e29e4c419d4