Commit Graph

524 Commits

Author SHA1 Message Date
Joakim Erdfelt a7b3a9f481 485663 - NullPointerException in WebSocketSession during upgrade with DEBUG logging
+ Defaulting session policy to container policy on session creation
2016-01-12 16:21:43 -07:00
Joakim Erdfelt 57224ec3ca 481986 - Dead JSR 356 Server Session still being tracked after Session/Connection closure
+ Removing SessionListener
+ Work in CDI layer for WebSocketContainerScope is reused for
  session tracking on the parent scope of the WebSocketSession only.
  no more multi-listener behavior
+ Reworked JsrSession ID behavior to not be based on AtomicLong
+ AbstractWebSocketConnection now has .hashCode and .equals
2016-01-12 16:15:51 -07:00
Joakim Erdfelt ac24196b0d Happy New Year 2016 2016-01-04 14:34:20 -07:00
Joakim Erdfelt cd39fd84fe Happy New Year 2016 2016-01-04 14:31:22 -07:00
Joakim Erdfelt e0ea078db2 Merge branch 'jetty-9.3.x' 2015-12-17 16:16:04 -07:00
Joakim Erdfelt 88945478f7 Merge branch 'jetty-9.2.x' into jetty-9.3.x 2015-12-17 16:15:49 -07:00
Joakim Erdfelt 1543601968 484612 - Restore WebSocket Session.close() sending 1000/Normal status code 2015-12-17 16:15:06 -07:00
Simone Bordet 9aa6dc1e7d Merged branch 'jetty-9.3.x' into 'master'. 2015-12-08 13:02:55 +01:00
Joakim Erdfelt b9c1535552 481567 - permessage-deflate causing data-dependent ju.zip.DataFormatException: invalid stored block lengths
+ Reworked PerMessageDeflateExtensionTest to test with different
  modes (http/ws vs https/wss), different messages sizes, and
  input buffer sizes (these various configurations do trigger
  the reported bug)
+ Made CompressExtension loop over the input buffer if the buffer
  happens to not be entirely consumed.
2015-12-07 13:15:29 -07:00
Joakim Erdfelt edf686fe0a Updating to version 9.3.7-SNAPSHOT 2015-11-06 12:13:00 -07:00
Joakim Erdfelt d737e1c638 Updating to version 9.3.6.v20151106 2015-11-06 11:09:32 -07:00
Joakim Erdfelt ec8f8d3e4f Updating to version 9.2.15-SNAPSHOT 2015-11-06 11:06:48 -07:00
Joakim Erdfelt ecba378f5c Updating to version 9.2.14.v20151106 2015-11-06 10:32:14 -07:00
Joakim Erdfelt dde32787c4 Updating to version 9.3.6-SNAPSHOT 2015-10-12 15:47:37 -07:00
Joakim Erdfelt 29722bd880 Updating to version 9.3.5.v20151012 2015-10-12 15:10:39 -07:00
Joakim Erdfelt 2cce7510e1 Updating to 9.3.5-SNAPSHOT 2015-10-08 17:49:09 -07:00
Joakim Erdfelt 9cf0e34a1d Updating to version 9.4.0-SNAPSHOT 2015-10-07 15:41:32 -07:00
Joakim Erdfelt 37296bec3c Updating to version 9.3.4.v20151007 2015-10-07 14:58:38 -07:00
Joakim Erdfelt 6aae1265bd Removing redudant close reason trim (handled elsewhere now) 2015-10-02 10:47:10 -07:00
Joakim Erdfelt 64d5718e9e Removing System.out 2015-10-02 10:43:47 -07:00
Joakim Erdfelt cd17ff932a 478829 - WebsocketSession not cleaned up / memory leak
+ WebSocket Connection objects no longer need to
  hold a reference to the WebSocketSession object
  eliminating another reference to the WebSocketSession
  that could hold GC efforts to clean it up
2015-10-02 10:33:32 -07:00
Joakim Erdfelt 1e8d0db743 478829 - WebsocketSession not cleaned up / memory leak
+ Reducing looping references Session -> otherObj -> Session
 + Using Container LifeCycle bean management more consistently
 + All sessions are now child beans
 + A stopped session that hasn't been closed, will auto-close now
 + Using SessionListener more consistently
 + Client ConnectionManager no longer tracks Sessions
 + EventDriver stop cleans up its Session references
 + Moving all DummyConnection test classes to websocket-common:tests
2015-10-01 18:18:20 -07:00
Joakim Erdfelt 8946badbed Extracting IBlockheadServerConnection for refactoring prep 2015-09-30 12:47:31 -07:00
Joakim Erdfelt b865b50cb6 Extracting IBlockheadClient for refactoring prep 2015-09-30 12:47:31 -07:00
Joakim Erdfelt f22fcde971 474936 - WebSocketSessions are not always cleaned out from openSessions
+ Calling onSessionOpen() before App.onOpen()
  This helps, as there is a race for the onSessionOpen()
  in the original behavior with short lived sockets.
  The short lived socket could handle onSessionClosed()
  before onSessionOpen() had a chance, making the close
  fail to remove the session from openSessions, and then
  the slower add occurs later, adding it into the openSession
+ Minor cleanup in IOState
2015-09-25 09:49:29 -07:00
Joakim Erdfelt 1bca608b48 Breaking out close logging into child logger of AbstractWebSocketConnection 2015-09-25 09:49:29 -07:00
Jesse McConnell 20ffd0dd0b Merge branch 'release-9.3.3' 2015-08-31 13:41:21 -05:00
Joakim Erdfelt 5312f2c0d7 Merge branch 'jetty-9.2.x'
Conflicts:
	jetty-util/src/main/java/org/eclipse/jetty/util/BufferUtil.java
	jetty-websocket/websocket-common/src/main/java/org/eclipse/jetty/websocket/common/WebSocketSession.java
2015-08-27 15:34:45 -07:00
Joakim Erdfelt 25cfffbe1e 428474 - Expose batch mode in the Jetty WebSocket API 2015-08-27 14:53:21 -07:00
Joakim Erdfelt 11b5d320f8 472082 - isOpen returns true on CLOSING Connection
+ Minor tweak to test for isOutputAvailable() instead of connection
  state.
2015-08-27 12:52:52 -07:00
Joakim Erdfelt ef067b2624 476023 - Incorrect trimming of WebSocket close reason
+ Fixed CloseStatus.trimMaxReasonLength() to perform trim correctly
+ Deprecated CloseStatus.trimMaxReasonLength() because it creates
  to many objects
+ Removed use of CloseStatus.trimMaxReasonLength() in implementation
  code
+ Improved CloseInfo ...
  + tracks reason via utf8 byte array (not String object)
  + trims utf8 byte array as-needed
+ All non-jsr implementations use CloseInfo logic
2015-08-27 11:12:51 -07:00
Joakim Erdfelt 54e3d0a2e8 476049 - When using WebSocket Session.close() there should be no status code or reason sent 2015-08-27 09:33:44 -07:00
Joakim Erdfelt 9c855bee76 474936 - WebSocketSessions are not always cleaned out from openSessions
+ Adding testcase
+ Enabling Connection.onClose() -> ioState.onDisconnected()

Conflicts:
	jetty-websocket/websocket-server/src/test/java/org/eclipse/jetty/websocket/server/WebSocketCloseTest.java
2015-08-27 09:33:28 -07:00
Joakim Erdfelt cb0852c53c 476049 - When using WebSocket Session.close() there should be no status code or reason sent 2015-08-27 09:27:28 -07:00
Jesse McConnell 6409366499 [maven-release-plugin] prepare for next development iteration 2015-08-27 10:11:29 -05:00
Jesse McConnell 3086adc965 [maven-release-plugin] prepare release jetty-9.3.3.v20150827 2015-08-27 10:11:21 -05:00
Jesse McConnell f5d1fb1058 Merge branch 'master' into release-9.3.3 2015-08-27 08:31:22 -05:00
Joakim Erdfelt c07f11a1fd 474936 - WebSocketSessions are not always cleaned out from openSessions
+ Adding testcase
+ Enabling Connection.onClose() -> ioState.onDisconnected()
2015-08-26 17:08:14 -07:00
Jesse McConnell f8734f23ce [maven-release-plugin] prepare for next development iteration 2015-08-25 14:10:01 -05:00
Jesse McConnell e9edf4c24b [maven-release-plugin] prepare release jetty-9.3.3.v20150825 2015-08-25 14:09:54 -05:00
Joakim Erdfelt 2f4f4a2247 Minor improvements in WebSocketConnection.toString() 2015-08-14 14:48:51 -07:00
Joakim Erdfelt 25b692046f Merge branch 'jetty-9.2.x' 2015-08-07 09:40:11 -07:00
Joakim Erdfelt 55862e229e 471055 - Restore legacy/experimental WebSocket extensions (deflate-frame) 2015-08-07 09:39:12 -07:00
Joakim Erdfelt a71c543a7e Revert "Removing old websocket extensions x-webkit-deflate-frame and deflate-frame"
This reverts commit ec9504aab8.
2015-08-07 07:37:06 -07:00
Joakim Erdfelt c424b58153 474453 - Tiny buffers (under 7 bytes) fail to compress in permessage-deflate
+ Ensure compress() is sanely using Deflater.deflate()
+ Ensure output buffer in .deflate() is always a minimum
  of 256 bytes
2015-08-06 15:16:32 -07:00
Joakim Erdfelt ffcedde60a 474068 - Update WebSocket Extension for permessage-deflate draft-22
+ Copying inflated byte buffers
+ Simplifying Accumulator of buffer/chunks
+ Removing references to frame compression extensions
2015-08-06 15:16:32 -07:00
Joakim Erdfelt aac9568a30 Work on permessage-deflate continues
Conflicts:
	jetty-websocket/websocket-server/src/test/java/org/eclipse/jetty/websocket/server/FrameCompressionExtensionTest.java
2015-08-06 15:16:30 -07:00
Joakim Erdfelt 39f9f3ad44 Removing old websocket extensions x-webkit-deflate-frame and deflate-frame
Conflicts:
	jetty-websocket/websocket-common/src/test/java/org/eclipse/jetty/websocket/common/extensions/compress/DeflateFrameExtensionTest.java
2015-08-06 15:16:11 -07:00
Joakim Erdfelt 2a1e0659d1 474453 - Tiny buffers (under 7 bytes) fail to compress in permessage-deflate
+ Ensure compress() is sanely using Deflater.deflate()
+ Ensure output buffer in .deflate() is always a minimum
  of 256 bytes
2015-08-06 15:10:55 -07:00
Joakim Erdfelt 3c99c9c9b9 Merge branch 'release-9.3.2' 2015-08-03 10:27:52 -07:00
Joakim Erdfelt bf81ac9d50 474068 - Update WebSocket Extension for permessage-deflate draft-22
+ Copying inflated byte buffers
+ Simplifying Accumulator of buffer/chunks
+ Removing references to frame compression extensions
2015-07-31 14:05:50 -07:00
Joakim Erdfelt a3684f7fb8 [maven-release-plugin] prepare for next development iteration 2015-07-30 09:47:57 -07:00
Joakim Erdfelt 798fc8118b [maven-release-plugin] prepare release jetty-9.2.13.v20150730 2015-07-30 09:47:48 -07:00
Joakim Erdfelt 4b3879845d [maven-release-plugin] prepare for next development iteration 2015-07-30 07:02:10 -07:00
Joakim Erdfelt 6b7e9ac4b0 [maven-release-plugin] prepare release jetty-9.3.2.v20150730 2015-07-30 07:02:02 -07:00
Greg Wilkins 607239028c 470727 - Thread Starvation of selector wakeups.
Changed the CallBack.NonBlocking to a default Callback.isNonBlocking, so that wrapping callbacks can determine if they are NonBlocking or not.
2015-07-22 17:31:54 +10:00
Jesse McConnell 9b790c38ce [maven-release-plugin] prepare for next development iteration 2015-07-14 11:42:34 -05:00
Jesse McConnell b35d32f2b8 [maven-release-plugin] prepare release jetty-9.3.1.v20150714 2015-07-14 11:42:28 -05:00
Jesse McConnell 7204707902 [maven-release-plugin] prepare for next development iteration 2015-07-09 12:14:38 -05:00
Jesse McConnell 3b1533673e [maven-release-plugin] prepare release jetty-9.2.12.v20150709 2015-07-09 12:14:30 -05:00
Jesse McConnell 60e45a940e [maven-release-plugin] prepare for next development iteration 2015-06-15 15:34:11 -05:00
Jesse McConnell d3dec8d513 [maven-release-plugin] prepare release jetty-9.2.12.M0 2015-06-15 15:34:03 -05:00
Joakim Erdfelt cf6c4a914e Updating version to 9.3.1-SNAPSHOT 2015-06-15 10:25:49 -07:00
Joakim Erdfelt 1a9da9f9e4 Updating versions to 9.3.0.v20150612 2015-06-12 09:34:24 -07:00
Joakim Erdfelt 496b4dfc83 [maven-release-plugin] prepare for next development iteration 2015-06-11 15:08:36 -07:00
Joakim Erdfelt f53c5d8fac [maven-release-plugin] prepare release jetty-9.3.0.v20150611 2015-06-11 15:08:29 -07:00
Jesse McConnell bfe6c2638e [maven-release-plugin] prepare for next development iteration 2015-05-29 09:06:42 -05:00
Jesse McConnell 71e0f4d8ce [maven-release-plugin] prepare release jetty-9.2.11.v20150529 2015-05-29 09:06:36 -05:00
Jesse McConnell a7087cbfbf [maven-release-plugin] prepare for next development iteration 2015-05-28 10:06:51 -05:00
Jesse McConnell 913c63e597 [maven-release-plugin] prepare release jetty-9.2.11.v20150528 2015-05-28 10:03:44 -05:00
Joakim Erdfelt f4f5157ab6 Work on permessage-deflate continues 2015-05-14 07:45:25 -07:00
Joakim Erdfelt eb638777d0 Adding IO.close(Closeable) and using it. 2015-05-14 07:45:25 -07:00
Joakim Erdfelt a1bd9f7f50 Updating tests for draft 21 spec of permessage-deflate 2015-05-14 07:45:25 -07:00
Joakim Erdfelt ec9504aab8 Removing old websocket extensions x-webkit-deflate-frame and deflate-frame 2015-05-14 07:45:25 -07:00
Joakim Erdfelt 1f7f4dfa82 Reworking FrameCaptureExtension for timestamped in/out files of frames 2015-05-14 07:45:25 -07:00
Joakim Erdfelt b6afd2db4a Renaming FrameDebugExtension to FrameCaptureExtension to better reflect usage 2015-05-14 07:45:25 -07:00
Joakim Erdfelt 72593955c9 467043 - WebSocketClient close codes on protocol violation reported as policy violation
+ Correcting onOpen and onMessage handling of throwables
  to account for information from CloseException conditions.
2015-05-11 13:49:17 -07:00
Joakim Erdfelt 9261274699 Cleanup of toString() output 2015-05-11 13:29:54 -07:00
Joakim Erdfelt d0251349c5 467036 - WebSocketClient fails to process immediate frames from server
+ Using Connection.UpgradeFrom and Connection.UpgradeTo with
  client connections and endpoints too.
2015-05-11 13:28:58 -07:00
Joakim Erdfelt 77e42fb05a Updating WebSocket JettyListenerEventDriver for new Listeners
+ Basing implementation on instances of WebSocketConnectionListener
+ Adding support for:
  * WebSocketListener
  * WebSocketPartialListener
  * WebSocketPingPongListener
  * WebSocketFrameListener
2015-05-06 15:49:25 -07:00
Joakim Erdfelt 744b9e4c62 466619 - Add WebSocketFrameListener for receiving WebSocket Frame information
+ Adding WebSocketFrameListener and example use case
2015-05-06 15:49:25 -07:00
Joakim Erdfelt ecac4b4912 414479 - Add WebSocketPingPongListener for those that want PING/PONG payload data
+ Adding WebSocketPingPongListener and example case
2015-05-06 15:49:25 -07:00
Joakim Erdfelt 7e7b2e2950 420678 - Add WebSocketPartialListener to support receiving partial WebSocket TEXT/BINARY messages
+ Reworking WebSocketListener to be based on new
  WebSocketConnectionListener
+ Adding new WebSocketPartialListener and example
2015-05-06 15:49:25 -07:00
Joakim Erdfelt e801cf3374 466618 - Partial WebSocket Text delivery does not like incomplete UTF8 sequences
+ Adding alternative to Utf8StringBuilder that doesn't throw exception
  on incomplete UTF8 sequences, specifically for partial message
  handling
2015-05-06 15:49:25 -07:00
Joakim Erdfelt ed22d7e0de 464727 - Update Javadoc for Java 8 DocLint 2015-04-22 16:11:01 -07:00
Joakim Erdfelt 09b5f680b7 464727 - Update Javadoc for Java 8 DocLint
Eliminate empty tag warnings
+ Changed <p/> to <p>
+ Changed <br/> to <br>
2015-04-15 14:38:35 -07:00
Greg Wilkins 1cb0449be3 Organised imports 2015-03-26 12:32:15 +11:00
Jesse McConnell da4f95f3d3 [maven-release-plugin] prepare for next development iteration 2015-03-25 09:08:27 -05:00
Jesse McConnell e92fd438fd [maven-release-plugin] prepare release jetty-9.2.11.M0 2015-03-25 09:08:21 -05:00
Joakim Erdfelt 1e3fe991e3 Increasing logging level for when websocket fails to open due to exception 2015-03-17 10:22:05 -07:00
Joakim Erdfelt 79fb2a4083 Fixing build 2015-03-12 10:42:09 -07:00
Joakim Erdfelt b75f8dcda4 Cleaning up cdi-websocket in prep for merge 2015-03-12 10:09:53 -07:00
Joakim Erdfelt 0301de099d Delaying decoration of websocket endpoints 2015-03-12 10:09:52 -07:00
Joakim Erdfelt dc81cda742 Using Jetty component listeners for CDI 2015-03-12 10:09:52 -07:00
Joakim Erdfelt 31ee46d482 453834 - CDI Support for WebSocket
+ Breaking down jetty-cdi into 3 modules
  * cdi-core
  * cdi-servlet
  * cdi-websocket
+ Creating WebSocketScope for cdi-websocket
+ Creating @Produces for jetty websocket api session
  and javax.websocket.Session
+ Unit tests for new functionality
2015-03-12 10:09:52 -07:00
Joakim Erdfelt 8b6a2629f8 453834 - CDI Support for WebSocket 2015-03-12 10:09:30 -07:00
Joakim Erdfelt 5b5c2369d5 Stragglers to the new year. tsk. tsk. 2015-03-12 10:09:30 -07:00
Joakim Erdfelt 4435ba3c2b cleaning up build warnings 2015-03-12 10:09:30 -07:00
Joakim Erdfelt 1f3097ff16 453834 - CDI Support for WebSocket
+ Adding scopes to websocket to help with CDI integration
2015-03-12 10:09:30 -07:00
Joakim Erdfelt 0c930c8640 Rename EnhancedInstantiator to DecoratedObjectFactory 2015-03-12 10:06:03 -07:00