Commit Graph

416 Commits

Author SHA1 Message Date
Joakim Erdfelt fa10576bc6 Issue #207 - initial pass through for Stream backpressure 2017-06-26 11:43:18 -07:00
Joakim Erdfelt c3bb6ae535 Issue #207 - Cleaning up Args vs Signature classes
# Conflicts:
#	jetty-websocket/websocket-common/src/main/java/org/eclipse/jetty/websocket/common/reflect/ArgSwitch.java
2017-06-26 11:37:11 -07:00
Joakim Erdfelt 0672f621e5 Issue #207 - Cannot catch PING in JSR356 2017-06-26 11:33:33 -07:00
Joakim Erdfelt 1c4d658be2 Issue #207 - Careful distinction between container policy, vs session policy
# Conflicts:
#	jetty-websocket/websocket-client/src/main/java/org/eclipse/jetty/websocket/client/io/UpgradeConnection.java
2017-06-26 11:33:09 -07:00
Joakim Erdfelt 70d4850ed1 Issue #207 - working @PathParam support 2017-06-26 11:31:42 -07:00
Christoph Dreis 41d4b59c19 Precompile pattern for checking of classes in javax package in ReflectUtils
Signed-off-by: dreis2211 <christoph.dreis@freenet.de>
2017-06-26 11:31:39 -07:00
Joakim Erdfelt 75c5793f38 Issue #207 - @PathParam support fixes
+ Arg.tag is now exposed for general use
+ JsrEndpointFunctions now decode (into primitives) the URI template
  exposed @PathParam static arguments
+ JsrEndpointFunctions simplified tracking of static args
+ ServerContainer.assertValidEndpoint() now validates
  added endpoints with @PathParam immediately (per spec)
  using a UriTemplate where each variable is an empty string
2017-06-26 11:31:37 -07:00
Joakim Erdfelt f790bf75d8 Issue #207 - prevent overlapping websocket streaming dispatch
+ when FIN==true, wait for dispatch to return before processing
  more frames
2017-06-26 11:31:36 -07:00
Joakim Erdfelt 3a37386ae9 Issue #207 - Using connection idle-timeout declared in annotation 2017-06-26 11:31:31 -07:00
Joakim Erdfelt fa635f5ecd Issue #207 - correcting lifecycle of WebSocketSession and EndpointFunctions
# Conflicts:
#	jetty-websocket/websocket-client/src/main/java/org/eclipse/jetty/websocket/client/io/ConnectPromise.java
#	jetty-websocket/websocket-client/src/main/java/org/eclipse/jetty/websocket/client/io/UpgradeConnection.java
2017-06-26 11:30:35 -07:00
Joakim Erdfelt 1a8e79c9bb Issue #207 - Support javax.websocket version 1.1
+ More testcase improvements
2017-06-26 11:29:14 -07:00
Joakim Erdfelt 9ffb266ccb Issue #207 - Support javax.websocket version 1.1
+ Cleaning up WebSocketPolicy usage

# Conflicts:
#	jetty-websocket/websocket-client/src/main/java/org/eclipse/jetty/websocket/client/io/UpgradeConnection.java
#	jetty-websocket/websocket-client/src/main/java/org/eclipse/jetty/websocket/client/io/WebSocketClientSelectorManager.java
2017-06-26 11:28:45 -07:00
Joakim Erdfelt c03037e757 Fixing up javadoc 2017-06-26 11:23:37 -07:00
Joakim Erdfelt 66f424cfaf Issue #207 - Support javax.websocket version 1.1 2017-06-26 11:23:36 -07:00
Joakim Erdfelt df584babc0 Issue #207 - Support javax.websocket version 1.1 2017-06-26 11:22:41 -07:00
Joakim Erdfelt a1333786a9 Issue #207 - Support javax.websocket version 1.1
# Conflicts:
#	jetty-websocket/javax-websocket-client-impl/src/test/java/org/eclipse/jetty/websocket/jsr356/DecoderFactoryTest.java
#	jetty-websocket/javax-websocket-client-impl/src/test/java/org/eclipse/jetty/websocket/jsr356/EncoderFactoryTest.java
#	jetty-websocket/javax-websocket-client-impl/src/test/java/org/eclipse/jetty/websocket/jsr356/MessageHandlerFactoryTest.java
#	jetty-websocket/javax-websocket-client-impl/src/test/java/org/eclipse/jetty/websocket/jsr356/annotations/JsrParamIdDecoderTest.java
#	jetty-websocket/javax-websocket-client-impl/src/test/java/org/eclipse/jetty/websocket/jsr356/decoders/PrimitiveDecoderMetadataSetTest.java
#	jetty-websocket/javax-websocket-client-impl/src/test/java/org/eclipse/jetty/websocket/jsr356/metadata/DecoderMetadataSetTest.java
#	jetty-websocket/javax-websocket-client-impl/src/test/java/org/eclipse/jetty/websocket/jsr356/metadata/EncoderMetadataSetTest.java
2017-06-26 11:22:27 -07:00
Joakim Erdfelt 53c9435183 Issue #207 - Support javax.websocket version 1.1 2017-06-26 11:20:14 -07:00
Joakim Erdfelt 31174ba434 Issue #207 - Support javax.websocket version 1.1
# Conflicts:
#	jetty-websocket/javax-websocket-client-impl/src/main/java/org/eclipse/jetty/websocket/jsr356/DecoderFactory.java
#	jetty-websocket/javax-websocket-client-impl/src/main/java/org/eclipse/jetty/websocket/jsr356/EncoderFactory.java
#	jetty-websocket/javax-websocket-client-impl/src/main/java/org/eclipse/jetty/websocket/jsr356/MessageHandlerFactory.java
#	jetty-websocket/javax-websocket-client-impl/src/main/java/org/eclipse/jetty/websocket/jsr356/MessageHandlerWrapper.java
#	jetty-websocket/javax-websocket-client-impl/src/main/java/org/eclipse/jetty/websocket/jsr356/annotations/AnnotatedEndpointMetadata.java
#	jetty-websocket/javax-websocket-client-impl/src/main/java/org/eclipse/jetty/websocket/jsr356/annotations/AnnotatedEndpointScanner.java
#	jetty-websocket/javax-websocket-client-impl/src/main/java/org/eclipse/jetty/websocket/jsr356/annotations/IJsrMethod.java
#	jetty-websocket/javax-websocket-client-impl/src/main/java/org/eclipse/jetty/websocket/jsr356/annotations/IJsrParamId.java
#	jetty-websocket/javax-websocket-client-impl/src/main/java/org/eclipse/jetty/websocket/jsr356/annotations/JsrCallable.java
#	jetty-websocket/javax-websocket-client-impl/src/main/java/org/eclipse/jetty/websocket/jsr356/annotations/JsrEvents.java
#	jetty-websocket/javax-websocket-client-impl/src/main/java/org/eclipse/jetty/websocket/jsr356/annotations/JsrParamIdBase.java
#	jetty-websocket/javax-websocket-client-impl/src/main/java/org/eclipse/jetty/websocket/jsr356/annotations/JsrParamIdBinary.java
#	jetty-websocket/javax-websocket-client-impl/src/main/java/org/eclipse/jetty/websocket/jsr356/annotations/JsrParamIdDecoder.java
#	jetty-websocket/javax-websocket-client-impl/src/main/java/org/eclipse/jetty/websocket/jsr356/annotations/JsrParamIdOnClose.java
#	jetty-websocket/javax-websocket-client-impl/src/main/java/org/eclipse/jetty/websocket/jsr356/annotations/JsrParamIdOnError.java
#	jetty-websocket/javax-websocket-client-impl/src/main/java/org/eclipse/jetty/websocket/jsr356/annotations/JsrParamIdOnMessage.java
#	jetty-websocket/javax-websocket-client-impl/src/main/java/org/eclipse/jetty/websocket/jsr356/annotations/JsrParamIdOnOpen.java
#	jetty-websocket/javax-websocket-client-impl/src/main/java/org/eclipse/jetty/websocket/jsr356/annotations/JsrParamIdPong.java
#	jetty-websocket/javax-websocket-client-impl/src/main/java/org/eclipse/jetty/websocket/jsr356/annotations/JsrParamIdText.java
#	jetty-websocket/javax-websocket-client-impl/src/main/java/org/eclipse/jetty/websocket/jsr356/annotations/OnCloseCallable.java
#	jetty-websocket/javax-websocket-client-impl/src/main/java/org/eclipse/jetty/websocket/jsr356/annotations/OnErrorCallable.java
#	jetty-websocket/javax-websocket-client-impl/src/main/java/org/eclipse/jetty/websocket/jsr356/annotations/OnMessageBinaryCallable.java
#	jetty-websocket/javax-websocket-client-impl/src/main/java/org/eclipse/jetty/websocket/jsr356/annotations/OnMessageBinaryStreamCallable.java
#	jetty-websocket/javax-websocket-client-impl/src/main/java/org/eclipse/jetty/websocket/jsr356/annotations/OnMessageCallable.java
#	jetty-websocket/javax-websocket-client-impl/src/main/java/org/eclipse/jetty/websocket/jsr356/annotations/OnMessagePongCallable.java
#	jetty-websocket/javax-websocket-client-impl/src/main/java/org/eclipse/jetty/websocket/jsr356/annotations/OnMessageTextCallable.java
#	jetty-websocket/javax-websocket-client-impl/src/main/java/org/eclipse/jetty/websocket/jsr356/annotations/OnMessageTextStreamCallable.java
#	jetty-websocket/javax-websocket-client-impl/src/main/java/org/eclipse/jetty/websocket/jsr356/annotations/OnOpenCallable.java
#	jetty-websocket/javax-websocket-client-impl/src/main/java/org/eclipse/jetty/websocket/jsr356/annotations/Param.java
#	jetty-websocket/javax-websocket-client-impl/src/main/java/org/eclipse/jetty/websocket/jsr356/client/AnnotatedClientEndpointMetadata.java
#	jetty-websocket/javax-websocket-client-impl/src/main/java/org/eclipse/jetty/websocket/jsr356/client/JsrClientEndpointImpl.java
#	jetty-websocket/javax-websocket-client-impl/src/main/java/org/eclipse/jetty/websocket/jsr356/client/SimpleEndpointMetadata.java
#	jetty-websocket/javax-websocket-client-impl/src/main/java/org/eclipse/jetty/websocket/jsr356/decoders/PrimitiveDecoderMetadataSet.java
#	jetty-websocket/javax-websocket-client-impl/src/main/java/org/eclipse/jetty/websocket/jsr356/encoders/PrimitiveEncoderMetadataSet.java
#	jetty-websocket/javax-websocket-client-impl/src/main/java/org/eclipse/jetty/websocket/jsr356/messages/BinaryArrayPartialMessage.java
#	jetty-websocket/javax-websocket-client-impl/src/main/java/org/eclipse/jetty/websocket/jsr356/messages/BinaryPartialOnMessage.java
#	jetty-websocket/javax-websocket-client-impl/src/main/java/org/eclipse/jetty/websocket/jsr356/messages/BinaryWholeMessage.java
#	jetty-websocket/javax-websocket-client-impl/src/main/java/org/eclipse/jetty/websocket/jsr356/messages/TextPartialMessage.java
#	jetty-websocket/javax-websocket-client-impl/src/main/java/org/eclipse/jetty/websocket/jsr356/messages/TextPartialOnMessage.java
#	jetty-websocket/javax-websocket-client-impl/src/main/java/org/eclipse/jetty/websocket/jsr356/messages/TextWholeMessage.java
#	jetty-websocket/javax-websocket-client-impl/src/main/java/org/eclipse/jetty/websocket/jsr356/metadata/CoderMetadata.java
#	jetty-websocket/javax-websocket-client-impl/src/main/java/org/eclipse/jetty/websocket/jsr356/metadata/CoderMetadataSet.java
#	jetty-websocket/javax-websocket-client-impl/src/main/java/org/eclipse/jetty/websocket/jsr356/metadata/DecoderMetadata.java
#	jetty-websocket/javax-websocket-client-impl/src/main/java/org/eclipse/jetty/websocket/jsr356/metadata/DecoderMetadataSet.java
#	jetty-websocket/javax-websocket-client-impl/src/main/java/org/eclipse/jetty/websocket/jsr356/metadata/EncoderMetadata.java
#	jetty-websocket/javax-websocket-client-impl/src/main/java/org/eclipse/jetty/websocket/jsr356/metadata/EncoderMetadataSet.java
#	jetty-websocket/javax-websocket-client-impl/src/main/java/org/eclipse/jetty/websocket/jsr356/metadata/EndpointMetadata.java
#	jetty-websocket/javax-websocket-client-impl/src/main/java/org/eclipse/jetty/websocket/jsr356/metadata/MessageHandlerMetadata.java
2017-06-26 11:20:11 -07:00
Joakim Erdfelt 357fae18ae Issue #207 - Support javax.websocket version 1.1 2017-06-26 11:19:02 -07:00
Joakim Erdfelt 1f196f5276 Issue #207 - Support javax.websocket version 1.1 2017-06-26 11:19:01 -07:00
Joakim Erdfelt 94ea9f5b05 Issue #207 - Support javax.websocket version 1.1 2017-06-26 11:18:59 -07:00
Joakim Erdfelt c8ffaec032 Issue #207 - Support javax.websocket version 1.1 2017-06-26 11:18:58 -07:00
Joakim Erdfelt c5954fc5d6 Trailing merge fixes 2017-06-26 11:18:57 -07:00
Joakim Erdfelt c4f7d03138 Issue #207 - Support javax.websocket version 1.1
WIP

# Conflicts:
#	jetty-websocket/javax-websocket-client-impl/src/test/java/org/eclipse/jetty/websocket/jsr356/encoders/DualEncoder.java
2017-06-26 11:18:41 -07:00
Joakim Erdfelt b3edcce8e7 Issue #207 - Support javax.websocket version 1.1
WIP

# Conflicts:
#	jetty-websocket/javax-websocket-client-impl/src/test/java/org/eclipse/jetty/websocket/jsr356/endpoints/ClientAnnotatedEndpointScanner_GoodSignaturesTest.java
#	jetty-websocket/javax-websocket-client-impl/src/test/java/org/eclipse/jetty/websocket/jsr356/endpoints/ClientAnnotatedEndpointScanner_InvalidSignaturesTest.java
2017-06-26 10:57:23 -07:00
Joakim Erdfelt 9a6644ec7b Issue #207 - Support javax.websocket version 1.1
WIP
2017-06-26 10:57:08 -07:00
Joakim Erdfelt 56abb626a4 Issue #207 - Support javax.websocket version 1.1
WIP

# Conflicts:
#	jetty-websocket/websocket-client/src/main/java/org/eclipse/jetty/websocket/client/io/UpgradeConnection.java
2017-06-26 10:57:05 -07:00
Joakim Erdfelt cd15a57a5e Issue #207 - Support javax.websocket version 1.1
WIP

# Conflicts:
#	jetty-websocket/websocket-client/src/main/java/org/eclipse/jetty/websocket/client/io/ConnectPromise.java
2017-06-26 10:56:45 -07:00
Joakim Erdfelt 9acd03f0d9 Issue #207 - Support javax.websocket version 1.1
WIP
2017-06-26 10:55:20 -07:00
Joakim Erdfelt 0a6fd16b52 Issue #207 - Support javax.websocket version 1.1
WIP
2017-06-26 10:55:18 -07:00
Joakim Erdfelt cbf8c971aa 467246 - Support javax.websocket version 1.1
WIP
2017-06-26 10:55:17 -07:00
Joakim Erdfelt 3906f9595f 467246 - Support javax.websocket version 1.1
+ WIP
2017-06-26 10:55:04 -07:00
Joakim Erdfelt 9e0fd7faa0 Issue #1625 - Support new IANA declared websocket close status codes 2017-06-16 14:23:29 -07:00
Joakim Erdfelt 67022482e5 Issue #1605 - common executor and bufferpool for jsr356 client 2017-06-12 09:23:23 -07:00
Joakim Erdfelt c75e3c19d9 Issue #1516 - making WebSocket started thread pools have identifying names 2017-05-11 09:52:02 -07:00
Joakim Erdfelt 753ed9e603 Issue #1516 - Delay starting of WebSocketClient 2017-05-09 12:58:22 -07:00
Greg Wilkins 0a2da4822d Merge remote-tracking branch 'origin/jetty-9.3.x' into jetty-9.4.x 2017-03-06 14:20:23 +11:00
Joakim Erdfelt 261f83f8cd Issue #329 - Removing unused WS classes 2017-03-01 10:40:45 -07:00
Simone Bordet 0c8273f2ca Happy New Year 2017. 2017-01-19 19:26:41 +01:00
Simone Bordet 07838b057f Happy New Year 2017. 2017-01-19 18:54:03 +01:00
Simone Bordet 347c48d657 Revert "resolve merge and update license headers"
This reverts commit 53b31b03dd, reversing
changes made to 4565c186d7.
2017-01-19 18:26:43 +01:00
Jesse McConnell 53b31b03dd resolve merge and update license headers 2017-01-19 09:33:16 -06:00
Jesse McConnell ce3e6dafec update license headers to 2017 2017-01-19 09:30:00 -06:00
Joakim Erdfelt 7e3d3604ac Merge pull request #1219 from violetagg/ws-suspend-resume
Issue #1218 - When resuming a suspended connection do not register a …
2017-01-10 17:24:12 -04:00
Joakim Erdfelt 487748cd8f Issue #1207 - Making EventDriver use WebSocketContainerScope instead 2017-01-10 16:27:49 +01:00
Violeta Georgieva eaa51be083 Issue #1218 - When resuming a suspended connection do not register a read interest if currently in filling mode.
Signed-off-by: Violeta Georgieva <vgeorgieva@pivotal.io>
2017-01-05 14:58:06 +02:00
Greg Wilkins d7aa079365 Issue #117 fixed javadoc errors 2016-12-02 15:33:30 +11:00
Joakim Erdfelt b70101b93f Fixes #117 - working build of WebSocketClient with HttpClient
+ Proxy support exists now
2016-12-01 15:00:41 -07:00
Joakim Erdfelt 709938e02b Merge branch 'issue-117' into jetty-9.4.x 2016-12-01 13:06:08 -07:00
Joakim Erdfelt 47fd7e1bd2 Merge branch 'jetty-9.3.x' into jetty-9.4.x 2016-11-30 14:41:43 -07:00
Joakim Erdfelt 70247d74d9 Issue #1124 - Fixing up merge issues
+ Making WebSocketServletFactory always load a new
  WebSocketServerFactory
+ Making WebSocketServerFactory need a ServletContext
  to construct it, if appropriate (the WebSocketHandler
  approach doesn't use a ServletContext)
+ NativeWebSocketConfiguration is now a bean of
  ServerContainer
+ Removed WebSocketServletFactory.init(ServletContext) method
+ Renamed WebSocketServletFactory.init() to .start()
+ Renamed WebSocketServletFactory.cleanup() to .stop()
+ CDI & Websocket now works
+ Using a ServletContextListener now works
+ DecoderFactory and EncoderFactory now work
2016-11-29 15:46:03 -07:00
Joakim Erdfelt e329e386f0 Issue #117 - Carrying over the work from features/wsclient-httpclient 2016-11-28 15:45:38 -07:00
Greg Wilkins 2ef23a6725 Issue #572
Improved to the toString and dump output of connections, endpoints and channel to assist with debugging
made the SSL callbacks and runnables Invocable to avoid thread starvation.
2016-11-23 16:58:35 +11:00
Joakim Erdfelt 1003969468 Merge branch 'jetty-9.3.x' into jetty-9.4.x 2016-11-17 11:04:40 -07:00
Joakim Erdfelt 7930a3dac8 Fixing merge 9.2.x -> 9.3.x 2016-11-16 18:31:33 -07:00
Joakim Erdfelt bc1f53a692 Merge branch 'jetty-9.3.x' into jetty-9.4.x 2016-11-04 10:25:25 -07:00
Joakim Erdfelt bc67969135 Fixes #1054 - NPE in Jetty WebSocketListener on PING frame with empty payload 2016-11-04 10:24:06 -07:00
Simone Bordet 7e376fd9da Merged branch 'jetty-9.3.x' into 'jetty-9.4.x'. 2016-09-28 11:53:54 +02:00
Simone Bordet 0f97c3df5d Fixes #966 - Remove usages of ConcurrentArrayQueue. 2016-09-28 11:40:39 +02:00
Simone Bordet efe339e246 Code cleanup. 2016-09-28 11:40:39 +02:00
Simone Bordet 823ba4add6 Merged branch 'jetty-9.3.x' into 'jetty-9.4.x'. 2016-07-21 18:15:38 +02:00
Simone Bordet 6a15bbfb2b Issue #751 - Remove usages of ArrayQueue. 2016-07-21 17:55:48 +02:00
Simone Bordet ab45979a13 Merged branch 'jetty-9.3.x' into 'jetty-9.4.x'. 2016-06-23 13:02:53 +02:00
Simone Bordet 9d9df416af Fixes #643 - NPE in passing websocket client test. 2016-06-23 13:00:04 +02:00
Simone Bordet 3dca610f7b Merged branch 'jetty-9.3.x' into 'jetty-9.4.x'. 2016-06-13 23:39:23 +02:00
Simone Bordet ebee9f12f9 Fixed SessionTrackingTest.
Introduced WebSocketSession.Listener that can be used to be notified
of session opening and close, so that tests can be written more reliably.
2016-06-13 23:23:15 +02:00
Simone Bordet e578c79b41 Code cleanups. 2016-06-13 23:23:14 +02:00
Jesse McConnell 20c1301203 Merge branch 'jetty-9.3.x' into jetty-9.4.x 2016-06-07 11:56:27 -05:00
Joakim Erdfelt dd8afc34b9 Merge branch 'jetty-9.3.x' into bugs/388 2016-06-06 08:37:36 -07:00
Joakim Erdfelt 8758cbb607 Fixes #388 - Provide pluggable RemoteEndpoint service 2016-06-06 07:44:46 -07:00
Greg Wilkins 98c328fb23 Jetty 9.4.x 572 (#614)
* Issue #572 Scheduling Strategy Deadlocks

Implemented dual strategy idea from #572 discussion

Signed-off-by: Greg Wilkins <gregw@webtide.com>

* fixed http2 strategy choice

Signed-off-by: Greg Wilkins <gregw@webtide.com>

* code cleanups

Signed-off-by: Greg Wilkins <gregw@webtide.com>

* clean up seelctor actions/products

Signed-off-by: Greg Wilkins <gregw@webtide.com>

* cleanups
2016-06-03 09:07:00 +10:00
Simone Bordet 89232a6207 Fixes #605 - Guard concurrent calls to WebSocketSession.close().
Introduced an AtomicBoolean to guard AbstractWebSocketConnection.close().
Made IOState code more robust with respect to synchronization.
2016-05-31 18:28:12 +02:00
Simone Bordet 2e21234328 Code cleanups. 2016-05-31 18:23:51 +02:00
Joakim Erdfelt d6bbe9ab12 Issue #388 - Provide pluggable RemoteEndpoint service 2016-03-03 09:28:05 -07:00
Joakim Erdfelt 06fa8370fb removing debugging output 2016-02-04 11:25:18 -07:00
Joakim Erdfelt cfe823a7d6 487197 - Deflater/Inflater memory leak with WebSocket permessage-deflate extension
+ CompressExtension implementations are now part of the Jetty LifeCycle
+ Deflater and Inflater implementations are only instantiated when
  needed.
+ CompressExtension.doStop() LifeCycle will call .end() on instantiated
  Deflater and Inflater implementations
2016-02-04 11:03:45 -07:00
Joakim Erdfelt 2902a13463 485469 - permessage-deflate extension causes protocol error in Firefox/Chrome
+ Ensure that CONTINUATION frames are marked without RSV1 bit set
  during all code paths for permessage-deflate
2016-01-29 12:46:58 -07:00
Joakim Erdfelt 6808953561 485469 - permessage-deflate extension causes protocol error in Firefox/Chrome
+ Correcting behavior for RFC7692: Section 7.2.3.6 (permessage-deflate
  empty fin)
2016-01-15 16:26:02 -07:00
Joakim Erdfelt 30308f2316 Javadoc updates 2016-01-13 07:25:15 -07:00
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 cd39fd84fe Happy New Year 2016 2016-01-04 14:31:22 -07:00
Joakim Erdfelt b5db18378d Happy New Year 2016 2016-01-04 14:21:26 -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
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 6aae1265bd Removing redudant close reason trim (handled elsewhere now) 2015-10-02 10:47:10 -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 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