Commit Graph

447 Commits

Author SHA1 Message Date
Greg Wilkins 853e020210 Merge remote-tracking branch 'origin/master' into jetty-http2 2014-07-16 15:31:48 +10:00
Simone Bordet 745f757552 Guarded calls to LOG.debug() with if (LOG.isDebugEnabled()) to reduce allocation of varargs Object[]. 2014-07-15 18:49:14 +02:00
Simone Bordet 334db9fe72 Updated version to 9.3.0-SNAPSHOT. 2014-06-16 21:33:03 +02:00
Jesse McConnell c3ee0711ca [maven-release-plugin] prepare for next development iteration 2014-06-09 13:37:54 -05:00
Jesse McConnell 06b494eeac [maven-release-plugin] prepare release jetty-9.2.1.v20140609 2014-06-09 13:37:49 -05:00
Jesse McConnell 10b6c574ae Merge branch 'master' into release-9 2014-06-09 13:07:22 -05:00
Greg Wilkins bb4d42f139 Merge remote-tracking branch 'origin' into jetty-http2 2014-06-04 15:09:19 +02:00
Greg Wilkins 8f4aeeeb8d updated version to 10.0.0-SNAPSHOT 2014-06-04 15:08:54 +02:00
Joakim Erdfelt 54051baa2f Enabling testcases 2014-05-29 11:48:53 -07:00
Jesse McConnell 2e859e4ae2 [maven-release-plugin] prepare for next development iteration 2014-05-26 12:04:15 -05:00
Jesse McConnell 71ad2114c5 [maven-release-plugin] prepare release jetty-9.2.0.v20140526 2014-05-26 12:04:08 -05:00
Jesse McConnell d59dbe936b [maven-release-plugin] prepare for next development iteration 2014-05-23 09:59:19 -05:00
Jesse McConnell edc7646a4c [maven-release-plugin] prepare release jetty-9.2.0.v20140523 2014-05-23 09:59:13 -05:00
Joakim Erdfelt 5b009dbe15 Adding FrameDebugExtension ability 2014-05-16 08:32:30 -07:00
Joakim Erdfelt e0e00b0aed 430418 - Jetty 9.1.3 and Chrome 33 permessage-deflate do not work together
+ Updating Compress/PerMessageDeflate extensions for latest spec
  document, http://tools.ietf.org/html/draft-ietf-hybi-permessage-compression-18
  Intra-frame tail 0000FFFF is now being preserved for
  permessage-deflate
2014-05-14 13:02:12 -07:00
Joakim Erdfelt 9fb6e96a40 Discard windows specific logger, no longer needed 2014-05-12 16:37:46 -07:00
Joakim Erdfelt 832332aaad 434685 - WebSocket read/parse does not discard remaining network buffer after unrecoverable error case
+ Make all future onFillable events after a fundamental read/parse
  exception discard the network buffer.
2014-05-12 16:36:47 -07:00
Joakim Erdfelt 8e3921b615 Setting up windows-7 specific logging for AnnotatedMaxMessageSize test failure 2014-05-12 10:38:20 -07:00
Joakim Erdfelt 8e957b5a23 Reducing the noise on websocket testing 2014-05-05 12:09:58 -07:00
Joakim Erdfelt c0e0f9bb83 431459 - Jetty WebSocket compression extensions fails to handle big messages properly
+ Setting up Assume for deregistered compression extension tests
2014-05-05 12:09:58 -07:00
Joakim Erdfelt c03388b640 431459 - Jetty WebSocket compression extensions fails to handle big messages properly
+ Setting compression extensions to default unregistered state until
  they can be stablized.
2014-05-05 12:09:58 -07:00
Greg Wilkins 2e261b75d6 433692 improved buffer resizing 2014-04-29 20:36:13 +02:00
Joakim Erdfelt c7dd3481c6 Turning on websocket-common/io debug for jenkins testing 2014-04-25 12:37:00 -07:00
Joakim Erdfelt 1fb578165f 433262 - WebSocket / Advanced close use cases
+ Improved test case handling of frame reading (to prevent future
  false failures)
+ Improved AbstractWebSocketConnection handling of close -> disconnect
  to only trigger on successful write (or failure) of close frame flush
  attempt.
+ Flusher close on all forms of disconnect, even half-closed.
2014-04-25 07:33:29 -07:00
Joakim Erdfelt 2bc9accd98 433262 - WebSocket / Advanced close use cases
+ Fixing bad assumptions in unit tests where the client would send a few
  frames to test the protocol behavior followed by the close frame.
  But the test expected the server to initiate the close, but this setup
  of the tests would mean that the client initiated the close.
2014-04-23 12:56:00 -07:00
Joakim Erdfelt 900dea3719 433262 - WebSocket / Advanced close use cases
+ ClientCloseTest implementation of various outlined use cases.
2014-04-22 16:07:45 -07:00
Greg Wilkins c5e1e249e7 set version for 9.2.x 2014-03-31 11:35:06 +11:00
Joakim Erdfelt b95e454f7d 417022 - Access current HttpConnection from Request not ThreadLocal
+ Adjusting WebSocketServerFactory.upgrade() to receive HttpConnection
  from Request object instead of ThreadLocal.
2014-03-11 12:12:44 -07:00
Jesse McConnell 0ec0d452e9 [maven-release-plugin] prepare for next development iteration 2014-03-07 09:10:08 -06:00
Jesse McConnell 1e555567a9 [maven-release-plugin] prepare release jetty-9.1.3.v20140225 2014-03-07 09:10:08 -06:00
Simone Bordet 4031bc7f3b Reduced websocket memory footprint by releasing the HTTP machinery
(request and response) after the upgrade.
2014-02-24 23:44:21 +01:00
Simone Bordet 4123001158 Removed UpgradeContext since it was not used. 2014-02-24 23:44:21 +01:00
Joakim Erdfelt 395e8f1c8b Adding examples of managing the websocket extensions 2014-02-19 11:32:18 -07:00
Simone Bordet 1ac6b82912 428232 - Rework batch mode / buffering in websocket.
Introduced the automatic batch mode, akin to Jetty 8's WebSocket
implementation.
Now, if there are no more frames to process, and the previous frames
have been aggregated, FrameFlusher auto-flushes the aggregated frames.
This simplifies applications because they don't need to call flush()
explicitly.
2014-02-18 18:31:49 +01:00
Simone Bordet 4bdca367dd 428232 - Rework batch mode / buffering in websocket.
Refactored FrameFlusher to handle aggregation of frames to support
JSR 356's batch mode.

Now FrameFlusher can aggregate frames as long as the FlushMode they
were sent is AUTO. When a frame that has FlushMode SEND arrives,
it will trigger the flush of the aggregate buffer (and eventually
also other queued frames).
A special BINARY frame is used to implement explicit flush()
invocations.
2014-02-18 18:31:48 +01:00
Joakim Erdfelt cff7c9dbcb Cleaning up websocket connection open/close in favor of session open/close 2014-02-13 16:22:55 -07:00
Jesse McConnell eb0aea46ce set versions.txt file to new version and fix mistaken developmentVersion 2014-02-10 13:48:29 -06:00
Jesse McConnell f3d38dfb15 [maven-release-plugin] prepare for next development iteration 2014-02-10 11:17:14 -06:00
Jesse McConnell 8f6cbc9111 [maven-release-plugin] prepare release jetty-9.1.2.v20140210 2014-02-10 11:17:07 -06:00
Simone Bordet 51e8b83954 427699 - WebSocket upgrade response sends Sec-WebSocket-Protocol twice.
The problem was that UpgradeResponse was setting the subProtocol as a
header, and HandshakeRFC6455 was extracting it and *adding* it again.

Fixed by removing the code in HandshakeRFC6455.
2014-02-10 14:43:22 +01:00
Simone Bordet 18d2180cdc 427588 - WebSocket Parser leaks ByteBuffers.
Fixed by having the Parser release the payload ByteBuffer.
Also reworked WebSocketFrame.reset() method, and made sure
that outgoing frames also don't leak ByteBuffers.
2014-02-10 12:21:50 +01:00
Simone Bordet 5d9360e343 427254 - Cookies are not sent to the client.
Introduced ServletUpgradeResponse.complete(), called when the response
is about to be sent to the client, to transfer the headers stored in
the superclass (UpgradeResponse.headers) into the HttpServletResponse.
2014-02-03 15:31:51 +01:00
Jesse McConnell 91429ea123 Merge branch 'release-9' 2014-01-10 09:11:25 -06:00
Jesse McConnell b82ec6e668 [maven-release-plugin] prepare for next development iteration 2014-01-08 16:47:09 -06:00
Jesse McConnell b99623a21d [maven-release-plugin] prepare release jetty-9.1.1.v20140108 2014-01-08 16:47:01 -06:00
Joakim Erdfelt 29dec203ba Turning on some leak detection in websocket testing 2014-01-08 14:54:57 -07:00
Joakim Erdfelt 9df519c40f 423948 - Cleanup and consolidate testing utilities in WebSocket
+ Created websocket-common-tests.jar artifact
+ Consolidated duplicate code from other websocket-* modules
  into the websocket-common test artifact
2014-01-08 10:47:45 -07:00
Joakim Erdfelt a12fd9ea03 Happy New Year - 2014! 2014-01-02 14:50:14 -07:00
Joakim Erdfelt 5380430b75 Tweaking idle timeout 2013-12-20 13:22:01 -07:00
Joakim Erdfelt 46ef022cf4 421314 - Websocket / Connect attempt with Chrome 32+ fails with "Some extension already uses the compress bit"
+ Reworked extension negotiation to be more consistent with the changes
  to the spec that Chrome 32 are introducing.  Namely that first
  extension to claim RSV bit wins, all other conflicting extensions are
  ignored.
2013-12-13 12:30:26 -07:00