Commit Graph

305 Commits

Author SHA1 Message Date
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
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
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
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 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
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
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
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
Joakim Erdfelt 5c3e30d136 453834 - CDI Support for WebSocket
+ Changing util.Decorators to util.EnhancedInstantiator to reflect true
  usage
+ Adding EnhancedInstantiator to JSR-356
2015-03-12 10:04:50 -07:00