Commit Graph

201 Commits

Author SHA1 Message Date
Joakim Erdfelt f06e846812 Adding some websocket client upgrade logging 2015-03-27 15:32:50 -07:00
Joakim Erdfelt 57b6debb87 454934 - WebSocketClient / connectToServer can block indefinitely during upgrade failure
+ Handling EOF and Timeout in a clearer way inside UpgradeConnection
2015-03-18 16:20:50 -07:00
Joakim Erdfelt 2ceaf6e65c 460769 - ClientUpgradeRequest sends cookies in the wrong format
+ Simplifying HTTP Client "Cookie:" header based on rfcs
2015-03-06 15:19:41 -07:00
Joakim Erdfelt 74ee154bb1 Cleaning up LeakTrackingByteBufferPool / LeakDetector
+ Making use of LeakTrackingByteBufferPool more consistent
+ Using MappedByteBufferPool.Tagged where appropriate in test cases
+ Adding leak count tracking to LeakDetector
+ Adding leak count tracking to LeakTrackingByteBufferPool
+ Renaming websocket LeakTrackingBufferPool to
  LeakTrackingBufferPoolRule to reflect junit @Rule usage
+ Making websocket LeakTrackingBufferPoolRule always use
  MappedByteBufferPool.Tagged
+ Fixed various grammar concerns
2015-03-06 14:27:58 -07:00
Greg Wilkins 2b2a70a93a 459845 Support upgrade
Added the concept of UpgradeFrom and UpgradeTo connections that support
transferring a buffer with content before opening new connection.
Aded EndPoint.update method as utility
2015-02-13 11:41:18 +11:00
Joakim Erdfelt 6a0668b7a1 Happy New Year 2015 2015-01-07 17:03:30 -07:00
Joakim Erdfelt b633778b33 444748 - WebSocketClient.stop() does not unregister from ShutdownThread
+ Making (de)register smart about if wsclient is registered or not
2014-09-22 11:18:30 -07:00
Simone Bordet 9dbd2cd9d8 442950 - Embedded Jetty client requests to localhost hangs with high cpu usage (NIO OP_CONNECT Solaris/Sparc).
Now checking the return value of SocketChannel.connect() to determine
whether to register the channel (true) or finish the connect (false).
2014-09-01 11:28:59 +02:00
Greg Wilkins 3a6879d3e8 expanded tabs in indents 2014-07-23 16:49:05 +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
Joakim Erdfelt 7b3fc2cecf Enabling testcase, reducing logging level 2014-05-29 11:42:50 -07:00
Joakim Erdfelt f00cd9f6ec Enabling and fixing testcase 2014-05-29 11:41:44 -07:00
Joakim Erdfelt bcf52e14f0 435206 - Can't add Cookie header on websocket ClientUpgradeRequest
+ Fixed competing cookie setters between WebSocketClient's use of
  CookieStore and UpgradeRequest.setCookies()
+ Added some utility methods to LazyList (for lack of existence of
  ListUtil or CollectionUtil in jetty-util)
2014-05-20 11:57:35 -07:00
Joakim Erdfelt cd003dcea0 Adjusting test timeouts for slow systems 2014-05-13 09:23:54 -07:00
Joakim Erdfelt 8b118ba66d Allowing alternate timeout check in testcase 2014-05-08 13:10:23 -07:00
Joakim Erdfelt 74e7195356 433262 - WebSocket / Advanced close use cases
+ because of the race condition in close on testNetworkCongestion(), the
  test has been modified to allow for either close condition as valid.
2014-05-07 16:14:50 -07:00
Joakim Erdfelt 8e957b5a23 Reducing the noise on websocket testing 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 51c5a4c833 425421 ContainerLifeCycle does not start added beans in started state 2014-05-05 14:53:53 +02:00
Greg Wilkins 2e261b75d6 433692 improved buffer resizing 2014-04-29 20:36:13 +02: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 900dea3719 433262 - WebSocket / Advanced close use cases
+ ClientCloseTest implementation of various outlined use cases.
2014-04-22 16:07:45 -07:00
Simone Bordet 75cc42a647 Improved dump() output. 2014-02-19 23:18:14 +01:00
Simone Bordet b8df85ec48 Session open and close are now logged at debug level. 2014-02-18 18:51:05 +01: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
Simone Bordet cfe248c67b 427128 - Cookies are not sent to the server.
Implemented/fixed handling of cookies sent by client to server.
2014-02-03 12:49:58 +01: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 259c624558 425038 - WebSocketClient leaks file handles when exceptions are thrown from open()
+ Close connection on open() exception
2014-01-07 13:19:01 -07:00
Joakim Erdfelt 44a7d23516 423646 - WebSocket / JSR / WebSocketContainer (Client) should have its LifeCycle stop on standalone use
+ Set Daemon on Executor and Scheduler threads to allow them to shutdown
  with the JVM
2014-01-07 13:08:10 -07:00
Joakim Erdfelt a12fd9ea03 Happy New Year - 2014! 2014-01-02 14:50:14 -07:00
Joakim Erdfelt 9a20a534b5 423646 - WebSocket / JSR / WebSocketContainer (Client) should have its LifeCycle stop on standalone use
+ Not working (yet), but narrowed down the problem.
2013-12-18 05:51:24 -07:00
Joakim Erdfelt 48fe92d939 423185 - Update permessage-deflate for finalized spec
+ Adding support for new permessage-deflate parameters
+ Tested against pywebsocket (rev 790)
+ Tested against Chrome Canary 32
2013-12-09 16:20:14 -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
Greg Wilkins 0a52c64d16 421697 - IteratingCallback improvements
Use the iteratingcallback for websocket
use gather writes for websocket
always write entire websocket payload
2013-11-21 15:11:56 +11:00
Joakim Erdfelt aba3a41a34 More fixes for Windows build 2013-11-04 16:50:18 -07:00
Greg Wilkins f567bddad9 global clean up imports 2013-11-04 13:48:03 +11:00
Greg Wilkins eb3bb660b5 Merge remote-tracking branch 'origin/master' into jetty-9.1
Conflicts:
	jetty-client/src/main/java/org/eclipse/jetty/client/util/DigestAuthentication.java
	jetty-client/src/test/java/org/eclipse/jetty/client/HttpReceiverTest.java
	jetty-client/src/test/java/org/eclipse/jetty/client/HttpSenderTest.java
	jetty-http/src/main/java/org/eclipse/jetty/http/HttpField.java
	jetty-server/src/test/java/org/eclipse/jetty/server/AbstractHttpTest.java
	jetty-servlets/src/test/java/org/eclipse/jetty/servlets/AbstractDoSFilterTest.java
	jetty-spdy/spdy-core/src/main/java/org/eclipse/jetty/spdy/generator/HeadersBlockGenerator.java
	jetty-spdy/spdy-core/src/main/java/org/eclipse/jetty/spdy/parser/HeadersBlockParser.java
	jetty-websocket/websocket-client/src/main/java/org/eclipse/jetty/websocket/client/ClientUpgradeRequest.java
	jetty-websocket/websocket-common/src/main/java/org/eclipse/jetty/websocket/common/WebSocketFrame.java
	jetty-websocket/websocket-common/src/main/java/org/eclipse/jetty/websocket/common/WebSocketSession.java
	jetty-websocket/websocket-common/src/test/java/org/eclipse/jetty/websocket/common/extensions/compress/DeflateCompressionMethodTest.java
	jetty-websocket/websocket-common/src/test/java/org/eclipse/jetty/websocket/common/extensions/compress/PerMessageDeflateExtensionTest.java
2013-11-03 18:22:09 +11:00
Mikhail Mazursky 6b0269a16d [Bug 420930] Use Charset to specify character encoding
Signed-off-by: Mikhail Mazursky <mikhail.mazursky@gmail.com>
2013-11-02 14:44:36 +06:00
Joakim Erdfelt 6f1eb712e9 Cleaning up imports 2013-11-01 10:03:40 -07:00
Joakim Erdfelt dbc4f5357a Merge fixes
+ @Ignore on PathMapTest
2013-10-18 16:12:19 -07:00
Joakim Erdfelt d6d54e048b Merge branch 'master' into jetty-9.1
Conflicts:
	jetty-server/src/main/java/org/eclipse/jetty/server/HttpChannel.java
	jetty-servlet/src/main/java/org/eclipse/jetty/servlet/ErrorPageErrorHandler.java
	jetty-websocket/websocket-client/src/main/java/org/eclipse/jetty/websocket/client/io/UpgradeConnection.java
	jetty-websocket/websocket-client/src/test/java/org/eclipse/jetty/websocket/client/WebSocketClientTest.java
	jetty-websocket/websocket-server/src/test/java/org/eclipse/jetty/websocket/server/AnnotatedMaxMessageSizeTest.java
2013-10-18 16:12:00 -07:00
Joakim Erdfelt 61dc8e1eff 419814 - Annotation properties maxMessageSize and inputBufferSize don't work
+ Ensured that WebSocketPolicy from annotations is propagated properly
  during connection creation.
2013-10-18 10:25:51 -07:00
Joakim Erdfelt 1ccba6e172 Clean up class + param order consistency 2013-09-26 10:30:29 -07:00
Greg Wilkins b52d7f09b0 418068 WebSocketClient has lazy or injected Executor 2013-09-26 18:06:55 +10:00
Greg Wilkins 43c92f8117 416812 - Don't start WebSocketClient for every context
turn off for all contexts in demo
2013-09-12 20:44:13 +10:00
Joakim Erdfelt aeac72a684 416812 - Don't start WebSocketClient for every context
+ Lazy initializing WebSocketClient connection manager
  to avoid holding threads that the selector manager
  will allocate.
2013-09-09 12:06:57 -07:00