Commit Graph

147 Commits

Author SHA1 Message Date
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 f465a13d6d 428435 - Large streaming message fails in MessageWriter.
Fixed buffering, synchronization and callback notification in the
websocket stream implementation classes.
2014-02-24 14:28:10 +01:00
Greg Wilkins d349d640c0 428859 Do not auto initialise jsr356 websocket if no annotations or EndPoints discovered 2014-02-24 16:31:56 +11: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
Simone Bordet 8e5c06b95c 428232 - Rework batch mode / buffering in websocket.
Refactored OutgoingFrames.outgoingFrame() to take an additional
parameter, FlushMode. This is in preparation for handling this new
parameter in FrameFlusher.
2014-02-18 18:31:48 +01:00
Simone Bordet ad15b27a01 427700 - Outgoing extensions that create multiple frames should flush
them in order and atomically.

Refactored PerMessageDeflateExtension and DeflateFrameExtension
introducing superclass CompressExtension that factors in common
functionalities.
2014-02-14 22:21:59 +01: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
Joakim Erdfelt 1ff01f36eb Fixing SessionTest failures on windows due to file locking 2014-01-14 15:09:57 -07: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 b59057c184 424863 - IllegalStateException "Unable to find decoder for type <javax.websocket.PongMessage>"
+ Expanding testing of PongMessage
+ Ensuring that .addMessage(MessageHandler.Whole<PongMessage>) works
+ Ensuring that ping or pong messages all goto assigned message
  handler for PongMessage, for both extends Endpoint and
  annotated @OnMessage
2014-01-06 17:54:57 -07:00
Joakim Erdfelt 8016065823 424706 - The setMaxIdleTimeout of javax.websocket.Session does not take any affect
+ Making sure that JsrSession updates Connection on use of
  setMaxIdleTimeout after a connection has been opened.
2014-01-06 15:07:02 -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 6d70aab61d 423915 - WebSocket / Active connection from IOS that goes into airplane mode not disconnected on server side
+ Working testcase for JSR-356
2013-12-12 16:58:42 -07:00
Joakim Erdfelt 5941e9db83 Fixing various warnings / imports 2013-12-12 14:46:40 -07:00
Joakim Erdfelt bc7afdc172 423476 - WebSocket / JSR / @OnMessage(maxMessageSize=20000000) not properly supported
+ Correcting @OnMessage handling of max message size for TEXT/BINARY
  from both @ClientEndpoint and @ServerEndpoint usage
+ Testcases to prevent regression.
2013-12-12 13:20:49 -07:00
Joakim Erdfelt 120e0e59ca Cleanup (Imports / StandardCharset / Dead APIs) 2013-12-11 17:27:58 -07:00
Joakim Erdfelt eb2f3acfbd 423804 - WebSocket / JSR improper use of ServerEndpointConfig.Configurator.getNegotiatedSubprotocol()
+ Correcting BasicServerEndpointConfigurator response for no subprotocol
+ Correcting JsrCreator assumption for no subprotocol
2013-12-11 17:00:28 -07:00
Joakim Erdfelt 5bb1631c68 Removing conflicting javax.websocket:javax.websocket-client-api artifact 2013-12-11 17:00:28 -07:00
Joakim Erdfelt 1eac013485 422192 - ClientContainer.getOpenSessions() always returns null
+ Adding SessionListener and using it judiciously
2013-12-04 12:24:48 -07:00
Joakim Erdfelt 724afdaea6 Merge branch 'release-9.1' into jetty-9.1 2013-11-18 09:15:21 -07:00
Joakim Erdfelt 9172d6115b [maven-release-plugin] prepare for next development iteration 2013-11-15 16:58:44 -07:00
Joakim Erdfelt 6feeab6ec3 [maven-release-plugin] prepare release jetty-9.1.0.v20131115 2013-11-15 16:58:36 -07:00
Joakim Erdfelt 7bbc0ff4df [maven-release-plugin] rollback the release of jetty-9.1.0.v20131115 2013-11-15 16:33:52 -07:00
Joakim Erdfelt 1126e68971 [maven-release-plugin] prepare for next development iteration 2013-11-15 16:03:28 -07:00
Joakim Erdfelt d6418c73d4 [maven-release-plugin] prepare release jetty-9.1.0.v20131115 2013-11-15 16:03:20 -07:00
Joakim Erdfelt 6c372b9440 Reverting <version> to 9.1.0-SNAPSHOT 2013-11-15 15:36:26 -07:00
Joakim Erdfelt e097ec1ae2 import cleanup 2013-11-15 09:00:16 -07:00
Jesse McConnell b5345caed1 [maven-release-plugin] prepare for next development iteration 2013-11-14 15:27:52 -06:00
Jesse McConnell 1582aa196d [maven-release-plugin] prepare release jetty-9.1.0.v20131114 2013-11-14 15:27:37 -06:00
Jesse McConnell 63f20d4518 [maven-release-plugin] prepare for next development iteration 2013-11-07 10:42:54 -06:00
Jesse McConnell dc2fd1b9ce [maven-release-plugin] prepare release jetty-9.1.0.RC2 2013-11-07 10:42:41 -06:00
Greg Wilkins f567bddad9 global clean up imports 2013-11-04 13:48:03 +11:00
Joakim Erdfelt 6f1eb712e9 Cleaning up imports 2013-11-01 10:03:40 -07:00
Joakim Erdfelt 5965e695fa Cleaning up modules 2013-10-24 14:06:50 -07:00
Joakim Erdfelt 1eca1e7c3c Making subprotocol negotiation behavior report warnings on bad configuration 2013-10-10 09:04:45 -07:00
Joakim Erdfelt 2944339893 Fixing websocket browser test utility header lookup 2013-10-10 08:43:49 -07:00
Joakim Erdfelt a0ddb2c5d7 418632 - WebSocket / Jsr annotated @OnMessage with InputStream fails to be called
+ Fixed load order issue with binary vs text
+ Fixed decoder assignment for InputStream
+ Added unit tests to prevent regression of this feature
2013-10-03 16:07:49 -07:00
Joakim Erdfelt d2c3d7cf09 418603 - cannot specify a custom ServerEndpointConfig.Configurator
+ Fixing bad assumption on annotations possibly being null
2013-10-03 09:13:37 -07:00
Joakim Erdfelt b966545a95 417152 - WebSocket / Do all setup in websocket specific ServletContainerInitializer
+ removing etc/jetty-websockets.xml (now irrelevant)
2013-09-26 10:13:12 -07:00
Joakim Erdfelt e92f0965c7 Removing scope test 2013-09-26 06:06:23 -07:00
Greg Wilkins b52d7f09b0 418068 WebSocketClient has lazy or injected Executor 2013-09-26 18:06:55 +10:00
Joakim Erdfelt edf0e4f707 Removing websocket.mod ini-template, as using the mod is the same as the ini-template 2013-09-24 09:02:04 -07:00