Joakim Erdfelt
395e8f1c8b
Adding examples of managing the websocket extensions
2014-02-19 11:32:18 -07: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
Joakim Erdfelt
cff7c9dbcb
Cleaning up websocket connection open/close in favor of session open/close
2014-02-13 16:22:55 -07:00
Jesse McConnell
eb0aea46ce
set versions.txt file to new version and fix mistaken developmentVersion
2014-02-10 13:48:29 -06:00
Jesse McConnell
f3d38dfb15
[maven-release-plugin] prepare for next development iteration
2014-02-10 11:17:14 -06:00
Jesse McConnell
8f6cbc9111
[maven-release-plugin] prepare release jetty-9.1.2.v20140210
2014-02-10 11:17:07 -06:00
Simone Bordet
51e8b83954
427699 - WebSocket upgrade response sends Sec-WebSocket-Protocol twice.
...
The problem was that UpgradeResponse was setting the subProtocol as a
header, and HandshakeRFC6455 was extracting it and *adding* it again.
Fixed by removing the code in HandshakeRFC6455.
2014-02-10 14:43:22 +01:00
Simone Bordet
18d2180cdc
427588 - WebSocket Parser leaks ByteBuffers.
...
Fixed by having the Parser release the payload ByteBuffer.
Also reworked WebSocketFrame.reset() method, and made sure
that outgoing frames also don't leak ByteBuffers.
2014-02-10 12:21:50 +01:00
Simone Bordet
5d9360e343
427254 - Cookies are not sent to the client.
...
Introduced ServletUpgradeResponse.complete(), called when the response
is about to be sent to the client, to transfer the headers stored in
the superclass (UpgradeResponse.headers) into the HttpServletResponse.
2014-02-03 15:31:51 +01:00
Jesse McConnell
91429ea123
Merge branch 'release-9'
2014-01-10 09:11:25 -06:00
Jesse McConnell
b82ec6e668
[maven-release-plugin] prepare for next development iteration
2014-01-08 16:47:09 -06:00
Jesse McConnell
b99623a21d
[maven-release-plugin] prepare release jetty-9.1.1.v20140108
2014-01-08 16:47:01 -06: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
a12fd9ea03
Happy New Year - 2014!
2014-01-02 14:50:14 -07:00
Joakim Erdfelt
5380430b75
Tweaking idle timeout
2013-12-20 13:22:01 -07:00
Joakim Erdfelt
46ef022cf4
421314 - Websocket / Connect attempt with Chrome 32+ fails with "Some extension already uses the compress bit"
...
+ Reworked extension negotiation to be more consistent with the changes
to the spec that Chrome 32 are introducing. Namely that first
extension to claim RSV bit wins, all other conflicting extensions are
ignored.
2013-12-13 12:30:26 -07:00
Joakim Erdfelt
0a30b4934b
423915 - WebSocket / Active connection from IOS that goes into airplane mode not disconnected on server side
...
+ Adding testcase verifying Native WebSocket API behavior
2013-12-12 17:04:35 -07:00
Joakim Erdfelt
7af074bafb
423048 - Receiving a PING while sending a message kills the connection
...
+ Removed msgLock on control frames.
+ Moved sendPing() and sendPong() to async frame handling
+ Squelched a mess of stacktraces in the testing output
2013-12-12 16:08:53 -07:00
Joakim Erdfelt
5941e9db83
Fixing various warnings / imports
2013-12-12 14:46:40 -07:00
Joakim Erdfelt
ecf3b8a68f
421189 - WebSocket / AbstractExtension's WebSocketPolicy is not Session-specific
...
+ Ensuring that the EventDriver managed policy is used by the
ExtensionStack
2013-12-12 13:51:01 -07:00
Joakim Erdfelt
54c22d0aca
418622 - WebSocket / When rejecting old WebSocket protocols, log client details
2013-12-09 17:00:18 -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
Greg Wilkins
41f60bd152
421697 - IteratingCallback improvements
...
Cleanup WebSocket impl first
+ Logic for size on Generator was backwards.
+ Logic in Generator for RSV flags was incorrect.
+ Generalizing flagsInUse for Parser too
2013-11-21 12:40:32 +11:00
Joakim Erdfelt
9172d6115b
[maven-release-plugin] prepare for next development iteration
2013-11-15 16:58:44 -07:00
Joakim Erdfelt
6feeab6ec3
[maven-release-plugin] prepare release jetty-9.1.0.v20131115
2013-11-15 16:58:36 -07:00
Joakim Erdfelt
7bbc0ff4df
[maven-release-plugin] rollback the release of jetty-9.1.0.v20131115
2013-11-15 16:33:52 -07:00
Joakim Erdfelt
1126e68971
[maven-release-plugin] prepare for next development iteration
2013-11-15 16:03:28 -07:00
Joakim Erdfelt
d6418c73d4
[maven-release-plugin] prepare release jetty-9.1.0.v20131115
2013-11-15 16:03:20 -07:00
Joakim Erdfelt
6c372b9440
Reverting <version> to 9.1.0-SNAPSHOT
2013-11-15 15:36:26 -07:00
Jesse McConnell
b5345caed1
[maven-release-plugin] prepare for next development iteration
2013-11-14 15:27:52 -06:00
Jesse McConnell
1582aa196d
[maven-release-plugin] prepare release jetty-9.1.0.v20131114
2013-11-14 15:27:37 -06:00
Jesse McConnell
63f20d4518
[maven-release-plugin] prepare for next development iteration
2013-11-07 10:42:54 -06:00
Jesse McConnell
dc2fd1b9ce
[maven-release-plugin] prepare release jetty-9.1.0.RC2
2013-11-07 10:42:41 -06: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
15e32cc9b0
419814 - Annotation properties maxMessageSize and inputBufferSize don't work
...
+ Adding extra testcase for maxMessageSize
2013-10-18 09:39:48 -07:00
Jesse McConnell
856a24b65a
[maven-release-plugin] prepare for next development iteration
2013-09-30 14:46:09 -05:00
Jesse McConnell
f466f03c6a
[maven-release-plugin] prepare release jetty-9.0.6.v20130930
2013-09-30 14:46:00 -05:00
Jesse McConnell
0b3f431d27
set version back to 9.0.6-SNAPSHOT
2013-09-30 12:33:06 -05:00
Jesse McConnell
0525498ad3
[maven-release-plugin] prepare for next development iteration
2013-09-19 15:06:31 -05:00
Jesse McConnell
c05a725db6
[maven-release-plugin] prepare release jetty-9.0.6.v20130919
2013-09-19 15:06:17 -05:00
Joakim Erdfelt
7f85842666
417134 - WebSocket / Jsr ServerEndpointConfig.Configurator.getNegotiatedExtensions() is never used
...
+ Extensions pre-negotiated via
ServerEndpointConfig.Configurator.getNegotiatedExtensions are not
properly handled.
+ Added JsrBrowserDebugTool (Jsr version of BrowserDebugTool)
2013-09-12 15:25:02 -07:00
Joakim Erdfelt
5445c42ffe
417133 - WebSocket / deflate-frame should accumulate decompress byte buffers properly
...
+ Adding ByteAccumulator to make job easier and more sane (with a
minimum of byte buffer copying.
2013-09-12 13:59:15 -07:00
Joakim Erdfelt
4b3541b7d1
WebSocket / making sure that filter always sees the correct target path, regardless of servlets
2013-09-11 08:56:19 -07:00
Joakim Erdfelt
dc59080fca
WebSocket / Fixing pathmap matching when query parameters are provided
2013-09-11 07:24:25 -07:00
Joakim Erdfelt
be2385276f
WebSocket / Fixing support for permessage-deflate extension
2013-08-28 11:49:54 -07:00
Joakim Erdfelt
20fbd95bf1
395444 - Websockets not working with Chrome (deflate problem)
...
+ Hopefully final fix to deflate-frame
+ Splitting out extension named 'deflate-frame' (last spec'd standard) from
'x-webkit-deflate-frame' (standard in use by chrome + safari)
2013-08-27 14:20:07 -07:00
Greg Wilkins
e4235ea070
415744 - Reduce Future usage in websocket
2013-08-23 19:58:46 +10:00
Joakim Erdfelt
4d9cb44536
WebSocket - Calling setPayload() outside of ContinuationFrame
2013-08-20 16:51:11 -07:00
Joakim Erdfelt
e56fddfc4a
WebSocket - Calling setPayload() outside of TextFrame and BinaryFrame
2013-08-20 16:45:26 -07:00
Joakim Erdfelt
a089780701
WebSocket - Calling setPayload() outside of PingFrame and PongFrame
2013-08-20 16:39:26 -07:00
Joakim Erdfelt
975d9870d2
WebSocket - more code cleanup
2013-08-20 16:28:51 -07:00
Joakim Erdfelt
c548cba71c
WebSocket - fixing windowed parse issue with masked frames
2013-08-20 12:56:32 -07:00
Joakim Erdfelt
34f03cb0e8
WebSocket / releasing (header) buffer acquired during generation
2013-08-20 09:57:57 -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
4016ba571c
JSR-356 working javax.websocket demo in the distribution.
2013-08-15 12:20:06 -07:00
Jan Bartel
c80100b4a9
[maven-release-plugin] prepare for next development iteration
2013-08-15 19:13:27 +10:00
Jan Bartel
e7e7e45500
[maven-release-plugin] prepare release jetty-9.0.5.v20130815
2013-08-15 19:13:13 +10:00
Jan Bartel
716430bb03
[maven-release-plugin] rollback the release of jetty-9.0.5.v20130815
2013-08-15 18:03:49 +10:00
Jan Bartel
3d13c15d35
[maven-release-plugin] prepare release jetty-9.0.5.v20130815
2013-08-15 17:22:03 +10:00
Jan Bartel
7947b35134
Reset version for rerun of 9.0.5
2013-08-15 16:47:03 +10:00
Joakim Erdfelt
e39b48c90d
Fixing up javadoc issues in WebSocket classes
2013-08-14 10:54:07 -07:00
Jesse McConnell
4383c9042d
[maven-release-plugin] prepare for next development iteration
2013-08-13 14:20:56 -05:00
Jesse McConnell
160d34ec23
[maven-release-plugin] prepare release jetty-9.0.5.v20130813
2013-08-13 14:20:47 -05:00
Joakim Erdfelt
980effaede
WebSocket - reducing memory footprint of WebSocketFrame by not using boolean fields
2013-08-13 12:09:43 -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
dfd3d5af29
WebSocket - refactoring bits and pieces to make testing easier.
2013-08-02 09:33:15 -07:00
Simone Bordet
ed95ffbfea
Fixed lifecycle management.
2013-08-02 15:05:50 +02: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
441c98544a
JSR-356 if mapping not found, allow default behavior
2013-08-01 07:47:02 -07:00
Joakim Erdfelt
e2f02a7a8a
JSR-356 fixing ServerContainer.setDefault*() method behavior
2013-07-31 14:25:54 -07:00
Joakim Erdfelt
0444b87961
414167 - WebSocket handshake upgrade from FireFox fails due to keep-alive
...
+ Making .isUpgradeRequest() multi-value aware, per spec
2013-07-31 13:00:16 -07:00
Joakim Erdfelt
0fd0ecc887
JSR-356 - making ClientContainer a use jetty LifeCycle properly
2013-07-31 10:34:31 -07:00
Joakim Erdfelt
8a2ccdf8ae
JSR-356 - fixing Session.setMax(Text|Binary)MessageBufferSize
2013-07-31 09:52:51 -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
6fc7e23dc0
Testing for non-null
2013-07-30 14:41:28 -07:00
Joakim Erdfelt
b363400c84
JSR-356 - making SessionFactory additive to allow multiple impls at the same time.
2013-07-29 09:30:42 -07:00
Joakim Erdfelt
b549410932
JSR-356 - Making WebSocketUpgradeFilter an attribute in the ServletContext
2013-07-25 09:43:47 -07:00
Joakim Erdfelt
d7d4e415ea
JSR-356 - making use of ServiceLoader technique for finding Extensions
2013-07-24 14:46:59 -07:00
Joakim Erdfelt
e69b41e9cd
JSR-356 Adding suppport for @PathParam
2013-07-16 16:56:03 -07:00
Greg Wilkins
987aa846cc
398467 Servlet 3.1 Non Blocking IO
...
ensure that EOF is checked after all calls to nextContent
2013-07-15 14:28:22 +10:00
Greg Wilkins
981102fda5
398467 Servlet 3.1 Non Blocking IO
...
Asynchronous reads working.
2013-07-05 18:11:09 +10:00
Greg Wilkins
e4716e05e1
Merge remote-tracking branch 'origin/master' into jetty-9.1
...
Conflicts:
aggregates/jetty-all/pom.xml
examples/async-rest/async-rest-jar/pom.xml
examples/async-rest/async-rest-webapp/pom.xml
examples/async-rest/pom.xml
examples/embedded/pom.xml
examples/pom.xml
jetty-annotations/pom.xml
jetty-ant/pom.xml
jetty-client/pom.xml
jetty-continuation/pom.xml
jetty-deploy/pom.xml
jetty-distribution/pom.xml
jetty-http/pom.xml
jetty-io/pom.xml
jetty-jaas/pom.xml
jetty-jaspi/pom.xml
jetty-jmx/pom.xml
jetty-jndi/pom.xml
jetty-jsp/pom.xml
jetty-jspc-maven-plugin/pom.xml
jetty-maven-plugin/pom.xml
jetty-monitor/pom.xml
jetty-nosql/pom.xml
jetty-osgi/jetty-osgi-boot-jsp/pom.xml
jetty-osgi/jetty-osgi-boot-warurl/pom.xml
jetty-osgi/jetty-osgi-boot/pom.xml
jetty-osgi/jetty-osgi-httpservice/pom.xml
jetty-osgi/jetty-osgi-npn/pom.xml
jetty-osgi/pom.xml
jetty-osgi/test-jetty-osgi-context/pom.xml
jetty-osgi/test-jetty-osgi-webapp/pom.xml
jetty-plus/pom.xml
jetty-proxy/pom.xml
jetty-rewrite/pom.xml
jetty-runner/pom.xml
jetty-security/pom.xml
jetty-server/pom.xml
jetty-servlet/pom.xml
jetty-servlets/pom.xml
jetty-spdy/pom.xml
jetty-spdy/spdy-client/pom.xml
jetty-spdy/spdy-core/pom.xml
jetty-spdy/spdy-example-webapp/pom.xml
jetty-spdy/spdy-http-server/pom.xml
jetty-spdy/spdy-server/pom.xml
jetty-spring/pom.xml
jetty-start/pom.xml
jetty-util-ajax/pom.xml
jetty-util/pom.xml
jetty-webapp/pom.xml
jetty-websocket/pom.xml
jetty-websocket/websocket-api/pom.xml
jetty-websocket/websocket-client/pom.xml
jetty-websocket/websocket-common/pom.xml
jetty-websocket/websocket-server/pom.xml
jetty-websocket/websocket-server/src/test/java/org/eclipse/jetty/websocket/server/ab/Fuzzer.java
jetty-websocket/websocket-servlet/pom.xml
jetty-xml/pom.xml
pom.xml
tests/pom.xml
tests/test-continuation/pom.xml
tests/test-loginservice/pom.xml
tests/test-sessions/pom.xml
tests/test-sessions/test-hash-sessions/pom.xml
tests/test-sessions/test-jdbc-sessions/pom.xml
tests/test-sessions/test-sessions-common/pom.xml
tests/test-webapps/pom.xml
tests/test-webapps/test-jaas-webapp/pom.xml
tests/test-webapps/test-jetty-webapp/pom.xml
tests/test-webapps/test-jndi-webapp/pom.xml
tests/test-webapps/test-mock-resources/pom.xml
tests/test-webapps/test-proxy-webapp/pom.xml
tests/test-webapps/test-servlet-spec/pom.xml
tests/test-webapps/test-servlet-spec/test-container-initializer/pom.xml
tests/test-webapps/test-servlet-spec/test-spec-webapp/pom.xml
tests/test-webapps/test-servlet-spec/test-web-fragment/pom.xml
tests/test-webapps/test-webapp-rfc2616/pom.xml
2013-06-27 09:12:28 +10:00
Joakim Erdfelt
78b5f7df1f
[maven-release-plugin] prepare for next development iteration
2013-06-25 08:29:26 -07:00
Joakim Erdfelt
5f2c937fcb
[maven-release-plugin] prepare release jetty-9.0.4.v20130625
2013-06-25 08:29:18 -07:00
Joakim Erdfelt
1a190a176e
Making testcase more consistent
2013-06-25 07:38:26 -07:00
Jesse McConnell
8927c18840
reset versions for release
2013-06-21 15:28:26 -05:00
Jesse McConnell
018a51a04e
Merge branch 'master' into release-9
2013-06-21 15:18:46 -05:00
Joakim Erdfelt
ebe98022ab
Making autobahn server disconnect happy
2013-06-21 12:46:10 -07:00