olivier lamy
1a49a6fb7e
more javadoc fixes #2056
...
Signed-off-by: olivier lamy <olamy@webtide.com>
2018-01-08 12:28:12 +11:00
Greg Wilkins
41050cd8a4
Issue #2081 No idle timeout exception when dispatch is delayed ( #2083 )
...
Issue #2081 No idle timeout exception when dispatch is delayed
* Delegate the readtimeout handling to HttpChannel so that a delayed dispatch can be ended.
* Added unit test for delayed dispatch idle
* Now using HttpInput.onIdleTimeout() to fail the HttpInput, and then dispatching the request in case it has not been dispatched yet. This ensure consistent behavior independently of the value of HttpConfiguration.delayDispatchUntilContent.
* Fixed for both HTTP/1.1 and HTTP/2.
* Added tests for non-blocking reads.
Signed-off-by: Greg Wilkins <gregw@webtide.com>
Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2018-01-04 13:26:31 +01:00
Greg Wilkins
729dd41493
Added partial string support to Utf8Appendable
2017-10-19 20:43:46 +11:00
Joakim Erdfelt
d34f04c559
Issue #1881 - eliminate NPE in id generation against UnixSocketChannel
2017-10-10 12:09:52 -07:00
Joakim Erdfelt
ce039eb4cb
Merge branch 'issue-272-ws-blockingwrite' into jetty-9.4.x
2017-10-10 11:23:03 -07:00
Simone Bordet
c93360ad9c
Issue #1851 - Improve insufficient thread warnings/errors.
...
Added ExecutorSizedThreadPool, a wrapper around JDK's ThreadPoolExecutor
that implements SizedThreadPool (and therefore returns a ThreadPoolBudget).
Deprecated ExecutorThreadPool, an older version of ExecutorSizedThreadPool.
2017-10-06 16:36:46 +02:00
Simone Bordet
4389da9196
Issue #272 - WebSocket hangs in blockingWrite.
...
Rewritten FrameFlusher.
2017-10-05 22:20:22 +02:00
Joakim Erdfelt
6faaf3346c
Issue #272 - Read/Parse exceptions should flow out, so Session can handle it via new Session.close()
2017-10-03 15:30:32 -07:00
Joakim Erdfelt
c0dfa1dd50
Issue #272 - Attempting to centralize close logic in Session.close()
2017-10-03 15:29:27 -07:00
Joakim Erdfelt
bb5195192a
Issue #272 - Addressing some concerns with multithreading in FrameFlusher
2017-10-03 15:20:16 -07:00
Joakim Erdfelt
45a4b87a33
Fixes #1662 - Removing harmless NPE on websocket compress with null frame payload
2017-09-06 10:57:28 -07:00
Joakim Erdfelt
acc7c97969
Removing @Rule LeakTrackingBufferPoolRule - bad threading behavior / false positives
2017-09-06 10:16:32 -07:00
Joakim Erdfelt
b0fd444a1b
File EOL issue, post-hard reset
2017-08-09 14:31:06 -07:00
Joakim Erdfelt
796da084b4
Issue #1625 - Support new IANA declared websocket close status codes
2017-08-08 08:49:58 -07:00
Joakim Erdfelt
af4962f842
Issue #1605 - common executor and bufferpool for jsr356 client
2017-08-08 08:49:57 -07:00
Joakim Erdfelt
296050dfc4
Issue #1568 - Fixing improper query encoding in WebSocket ServletUpgradeRequest
2017-05-23 10:32:22 -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
Greg Wilkins
e607acfa4e
Merge remote-tracking branch 'origin/jetty-9.3.x' into jetty-9.4.x
2016-06-15 18:06:32 +10:00
Greg Wilkins
0e5de87d49
Issue #663 Cleanup
...
Increased websocket tests timeouts
2016-06-15 18:04:33 +10: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
64d5718e9e
Removing System.out
2015-10-02 10:43:47 -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
8946badbed
Extracting IBlockheadServerConnection for refactoring prep
2015-09-30 12:47:31 -07:00
Joakim Erdfelt
b865b50cb6
Extracting IBlockheadClient for refactoring prep
2015-09-30 12:47:31 -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
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