Joakim Erdfelt
8946badbed
Extracting IBlockheadServerConnection for refactoring prep
2015-09-30 12:47:31 -07:00
Joakim Erdfelt
47d81db015
474455 - Enable permessage-deflate WebSocket extension
2015-08-06 15:10:55 -07:00
Joakim Erdfelt
665fd20995
469991 - Fix logging levels in websocket client UpgradeConnection
...
+ Cleanup of logging levels
2015-06-11 12:12:09 -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
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
Simone Bordet
6263972d1e
Merged branch 'jetty-9.2.x' into 'master'.
2015-03-31 13:58:41 +02:00
Joakim Erdfelt
f06e846812
Adding some websocket client upgrade logging
2015-03-27 15:32:50 -07:00
Greg Wilkins
1cb0449be3
Organised imports
2015-03-26 12:32:15 +11:00
Joakim Erdfelt
e21d24b035
454934 - WebSocketClient / connectToServer can block indefinitely during upgrade failure
...
+ Handling EOF and Timeout in a clearer way inside UpgradeConnection
2015-03-18 16:23:39 -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
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
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
130afb9535
Merge branch 'jetty-9.2.x'
...
Conflicts:
jetty-client/src/main/java/org/eclipse/jetty/client/LeakTrackingConnectionPool.java
jetty-client/src/test/java/org/eclipse/jetty/client/HttpClientLoadTest.java
jetty-client/src/test/java/org/eclipse/jetty/client/HttpClientUploadDuringServerShutdown.java
jetty-server/src/main/java/org/eclipse/jetty/server/HttpInput.java
jetty-spdy/spdy-server/src/test/java/org/eclipse/jetty/spdy/server/SynDataReplyDataLoadTest.java
jetty-websocket/websocket-server/src/test/java/org/eclipse/jetty/websocket/server/TooFastClientTest.java
2015-03-06 15:57:52 -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
Joakim Erdfelt
c52f100ec3
Making WebSocket use new Upgrade mechanism
...
+ Also fixes websocket server prefill bytes issue
+ Adjusting client side to also use/benefit from new Upgrade mechanism
2015-02-13 15:16:48 -07:00
Greg Wilkins
0f7ee8d607
Merge remote-tracking branch 'origin/jetty-9.2.x'
...
Conflicts:
jetty-http/src/main/java/org/eclipse/jetty/http/HttpParser.java
jetty-http/src/main/java/org/eclipse/jetty/http/HttpVersion.java
jetty-io/src/main/java/org/eclipse/jetty/io/EndPoint.java
jetty-server/src/main/java/org/eclipse/jetty/server/HttpConnection.java
2015-02-13 11:45:56 +11: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
Greg Wilkins
e1cc5fb487
Merge remote-tracking branch 'origin/master' into jetty-9.3-ewyk
...
Conflicts:
jetty-server/src/main/java/org/eclipse/jetty/server/HttpChannel.java
jetty-server/src/main/java/org/eclipse/jetty/server/QueuedHttpInput.java
jetty-util/src/main/java/org/eclipse/jetty/util/thread/NonBlockingThread.java
2015-01-08 15:21:01 +01:00
Joakim Erdfelt
a3201a3c81
Happy New Year 2015
2015-01-07 17:06:59 -07:00
Joakim Erdfelt
6a0668b7a1
Happy New Year 2015
2015-01-07 17:03:30 -07:00
Greg Wilkins
3af9b145a3
Deprecated the AbstractConnection dispatchIO mechanism
2015-01-01 16:18:13 +01:00
Greg Wilkins
cdd2b0a9d2
refacted SelectorManager to have a ManagedSelector
2014-12-17 16:29:24 +01:00
Joakim Erdfelt
35b86eed16
454152 - Remove mux remnants from WebSocketClient
2014-12-04 10:40:22 -07:00
Simone Bordet
8d2efaf7eb
445167 - Allow configuration of dispatch after select.
...
Introduced parameter "dispatchIO" in the relevant factories so that
they can be configured by users and connections will be created
taking into account this parameter.
For less configurable connection factories, this parameter is
currently hardcoded to either true or false depending on the case.
For example, ALPN and NPN connections have it to false, since they
don't do any blocking operation in onFillable().
2014-09-26 10:13:16 +02:00
Joakim Erdfelt
65cae13b1e
444748 - WebSocketClient.stop() does not unregister from ShutdownThread
...
+ Making (de)register smart about if wsclient is registered or not
2014-09-23 11:33:44 +02: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
ee3ab1f8ea
Merged branch 'master' into 'jetty-http2'.
2014-09-01 11:57:09 +02: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
fa3d7d0f7e
Merge remote-tracking branch 'origin/master' into jetty-http2
...
Conflicts:
jetty-servlet/src/test/java/org/eclipse/jetty/servlet/AsyncContextDispatchWithQueryStrings.java
2014-07-23 16:53:13 +10:00
Greg Wilkins
3a6879d3e8
expanded tabs in indents
2014-07-23 16:49:05 +10:00
Greg Wilkins
7f62f2600b
refactored URI handling
2014-07-20 10:23:47 +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
Greg Wilkins
070ce9dd22
Merge remote-tracking branch 'origin/master' into jetty-9.1
...
Conflicts:
jetty-start/src/main/java/org/eclipse/jetty/start/Main.java
jetty-webapp/src/main/java/org/eclipse/jetty/webapp/WebAppContext.java
2013-09-09 15:41:17 +10:00
Mikhail Mazursky
767faece5c
[Bug 415999] Fix some of FindBugs warnings
...
Mostly not closed streams/DB resources are fixed. But also less
important things.
Signed-off-by: Mikhail Mazursky <mikhail.mazursky@gmail.com>
2013-09-09 00:24:31 -04:00
Joakim Erdfelt
73f06c2a14
412205 - SSL handshake failure leads to unresponsive UpgradeConnection
...
+ Passing failure() back out of the UpgradeConnection
2013-09-03 13:15:04 -07:00
Greg Wilkins
e4235ea070
415744 - Reduce Future usage in websocket
2013-08-23 19:58:46 +10:00
Joakim Erdfelt
975d9870d2
WebSocket - more code cleanup
2013-08-20 16:28:51 -07:00
Joakim Erdfelt
8c77fe2404
WebSocket - addressing bug in Partial message support
2013-08-20 15:31:12 -07:00
Joakim Erdfelt
3dbcc04b73
Breaking apart WebSocketFrame into sub-frame types
...
+ Performance improvements?
+ Less copying of data
2013-08-19 15:26:07 -07:00
Joakim Erdfelt
26faa5f0d7
WebSocket - fixing flush->write->complete spinning loop
2013-08-16 13:08:10 -07:00
Joakim Erdfelt
e39b48c90d
Fixing up javadoc issues in WebSocket classes
2013-08-14 10:54:07 -07:00
Joakim Erdfelt
1e39b7d476
WebSocket / Performance - cleaning up tests from fallout on bug 414913
...
+ Copying payload in test cases for comparison reasons, as the reuse of
payloads by the implementation now means that the payload might be
masked by a random client side mask.
+ Cleaning up Abnormal Close handling for idle timeout cases
+ Fixing logging a tag
+ Fixing intermittent test failure in jsr EchoTest
2013-08-12 16:29:25 -07:00
Joakim Erdfelt
46b3dc10c8
414913 - WebSocket / Performance - reduce ByteBuffer allocation/copying during generation/writing
...
+ Splitting Header bytes from payload bytes.
+ returning List<ByteBuffer> from WriteBytesProvider now
+ returning possibly more than 1 frame per
WriteBytesProvider.getByteBuffers() for submission to
Endpoint.write()'s gathered write of multiple bytebuffers
2013-08-12 16:29:25 -07:00
Joakim Erdfelt
07041f6439
JSR-356 making HTTP Header map use TreeMap(String.CASE_INSENSITIVE_ORDER)
2013-08-01 10:50:01 -07:00
Joakim Erdfelt
e2f02a7a8a
JSR-356 fixing ServerContainer.setDefault*() method behavior
2013-07-31 14:25:54 -07:00
Joakim Erdfelt
9ebf890d51
WebSocket - supporting WriteCallback in jetty RemoteEndpoint
...
+ new RemoteEndpoint.sendBytes(ByteBuffer, WriteCallback)
+ new RemoteEndpoint.sendString(String, WriteCallback)
2013-07-30 15:25:41 -07:00
Joakim Erdfelt
28b3ee8b13
WebSocket - breaking out unfinished MUX extension into its own module
2013-07-30 15:09:40 -07:00
Joakim Erdfelt
4d36627a63
JSR-356 fixing NPE on bufferPool
2013-07-30 14:32:41 -07:00
Joakim Erdfelt
d967dafe45
JSR-356 - Refactoring Annotated method parameter detection and use
2013-07-24 12:32:15 -07:00
Joakim Erdfelt
5d45486b8d
JSR-356 - Cleaning up sendObject(Object) behavior between Basic & Async
2013-07-15 10:43:39 -07:00
Joakim Erdfelt
931cfa10ce
Merge branch 'master' into javawebsocket-jsr
...
Conflicts:
jetty-websocket/websocket-client/src/test/java/org/eclipse/jetty/websocket/client/TomcatServerQuirksTest.java
2013-06-18 12:41:20 -07:00
Joakim Erdfelt
be2cf578ce
400503 - WebSocket - squelch legitimate Exceptions during testing to avoid false positives
2013-06-17 16:34:21 -07:00
Joakim Erdfelt
2da8c9c306
Merge branch 'master' into javawebsocket-jsr
...
Conflicts:
jetty-spdy/spdy-http-server/src/test/java/org/eclipse/jetty/spdy/server/http/ReferrerPushStrategyTest.java
jetty-util/src/main/java/org/eclipse/jetty/util/BufferUtil.java
jetty-websocket/websocket-client/src/main/java/org/eclipse/jetty/websocket/client/io/UpgradeConnection.java
jetty-websocket/websocket-common/src/main/java/org/eclipse/jetty/websocket/common/events/EventDriver.java
jetty-websocket/websocket-server/src/main/java/org/eclipse/jetty/websocket/server/ServletWebSocketRequest.java
jetty-websocket/websocket-server/src/main/java/org/eclipse/jetty/websocket/server/WebSocketServerFactory.java
jetty-websocket/websocket-server/src/test/java/org/eclipse/jetty/websocket/server/WebSocketLoadRFC6455Test.java
2013-06-17 10:54:10 -07:00
Joakim Erdfelt
02de232411
405313 - Websocket client SSL hostname verification is broken, always defaults to raw IP as String
...
+ After discussion with simone, we have changed from using IP address to
hostnames in both websocket and spdy.
2013-06-14 11:40:37 -07:00
Joakim Erdfelt
536b8d9504
410469 - UpgradeRequest is sent twice when using SSL, one fails warning about WritePendingException
...
+ Removing manual connectionOpened() in favor of letting endpoint notify.
2013-06-11 08:56:53 -07:00
Joakim Erdfelt
97854b6c5b
JSR-356 adding support for ClientEndpointConfig.Configurator
2013-05-22 15:15:05 -07:00
Joakim Erdfelt
ce0435e099
Cleaning up test output
2013-05-09 14:29:59 -07:00