Greg Wilkins
138dfba560
Revert "430242 - added SharedBlockingCallback to support threadsafe blocking"
...
This reverts commit 9c30e7a303
.
2014-03-21 17:55:48 +11:00
Greg Wilkins
a85b855921
Revert ALPN and java 8 changes to move to another branch
...
Reverts e9ecd8c,2f22a10,addc49f,f4e4b09,cf1c245
Disabled unit test from commit 47e7583
2014-03-19 12:54:04 +11:00
Joakim Erdfelt
47e7583ada
430088 - OnMessage*Callable decoding of streaming binary or text is not thread safe
...
+ Adding testcase for Decoder.TextStream and lots of short messages with
order indicator (for the order in which they were sent)
Test case validates that all of the messages were received, not that
they were in any particular order (as the use of Streaming prevents
reliable ordering)
+ Adding defensive copy of callable array in order to prevent any
possibility of concurrency issues with streams and dispatched
calls.
2014-03-17 15:05:55 -07:00
Joakim Erdfelt
e1417861b9
430088 - OnMessageTextStreamCallable is not thread safe
...
+ Adding client side testcase for Decoder.TextStream use with a Reader
and multiple frames being received.
2014-03-14 13:46:47 -07:00
Greg Wilkins
9c30e7a303
430242 - added SharedBlockingCallback to support threadsafe blocking
2014-03-13 21:12:55 +11:00
Greg Wilkins
4de73d508b
430242 - added SharedBlockingCallback to support threadsafe blocking
2014-03-13 14:46:00 +11:00
Joakim Erdfelt
b95e454f7d
417022 - Access current HttpConnection from Request not ThreadLocal
...
+ Adjusting WebSocketServerFactory.upgrade() to receive HttpConnection
from Request object instead of ThreadLocal.
2014-03-11 12:12:44 -07:00
Joakim Erdfelt
6802dbd75c
Cleaning up imports
2014-03-11 10:45:37 -07:00
Jan Bartel
b6f36dadb2
Add appropriate headers to allow ServiceLoader mechanism to work with OSGi.
2014-03-10 13:42:05 +11:00
Jesse McConnell
0ec0d452e9
[maven-release-plugin] prepare for next development iteration
2014-03-07 09:10:08 -06:00
Jesse McConnell
1e555567a9
[maven-release-plugin] prepare release jetty-9.1.3.v20140225
2014-03-07 09:10:08 -06:00
Joakim Erdfelt
a3e5e0858c
428595 - JSR-356 / ClientContainer does not support SSL
...
+ Default SslContextFactory initialized
+ Setting for trustAll configurable via System property
"org.eclipse.jetty.websocket.jsr356.ssl-trust-all"={bool}
2014-03-06 13:28:56 -07:00
Joakim Erdfelt
5d36a4cb73
428594 - File upload with onMessage and InputStream fails
...
+ Adding unit test to verify reported behavior
2014-03-06 13:19:30 -07:00
Joakim Erdfelt
f282ffe897
429779 - masked zero length websocket frame gives NullPointerException during streaming read
...
+ Corrected payload buffer copying to ignore null and empty payloads
2014-03-06 11:29:42 -07:00
Jan Bartel
6959d911d5
428597 javax-websocket-client-impl and javax-websocket-server-impl jars Manifests do not export packages for OSGI
2014-03-06 16:47:10 +11:00
Jan Bartel
af3f2f4894
429409 [osgi] jetty.websocket.servlet must import jetty.websocket.server
2014-03-03 12:54:11 +11:00
Simone Bordet
4031bc7f3b
Reduced websocket memory footprint by releasing the HTTP machinery
...
(request and response) after the upgrade.
2014-02-24 23:44:21 +01:00
Simone Bordet
4123001158
Removed UpgradeContext since it was not used.
2014-02-24 23:44:21 +01:00
Joakim Erdfelt
b3bfe2783f
Fixing WebSocketSession.suspend()
2014-02-24 08:08:11 -07:00
Simone Bordet
f465a13d6d
428435 - Large streaming message fails in MessageWriter.
...
Fixed buffering, synchronization and callback notification in the
websocket stream implementation classes.
2014-02-24 14:28:10 +01:00
Greg Wilkins
d349d640c0
428859 Do not auto initialise jsr356 websocket if no annotations or EndPoints discovered
2014-02-24 16:31:56 +11:00
Simone Bordet
7db67ff58f
Removed @SuppressWarnings("ForLoopReplaceableByForEach") because
...
it is a non standard warning not treated by the compiler but only
by IDEs. Relevant lines have comments in any case.
2014-02-21 14:50:45 +01:00
Simone Bordet
7d6c1548b1
428232 - Rework batch mode / buffering in websocket.
...
Fixed missing notification of the FLUSH_FRAME.
2014-02-20 22:17:16 +01:00
Simone Bordet
c3c4d059a6
Removed unnecessary synchronization.
2014-02-20 15:44:22 +01:00
Greg Wilkins
15952aeee4
428232 - Rework batch mode / buffering in websocket.
2014-02-21 00:54:32 +11:00
Simone Bordet
75cc42a647
Improved dump() output.
2014-02-19 23:18:14 +01:00
Joakim Erdfelt
395e8f1c8b
Adding examples of managing the websocket extensions
2014-02-19 11:32:18 -07:00
Joakim Erdfelt
6b1f17b503
Demonstration of BFINAL
2014-02-19 11:32:18 -07:00
Joakim Erdfelt
c1f547e2b3
Adding javadoc
2014-02-19 11:32:18 -07: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
3240e7383b
428232 - Rework batch mode / buffering in websocket.
...
Improved logging by wrapping LOG.debug() calls in a
if (LOG.isDebugEnabled()) statement to avoid boxing of primitive
values.
2014-02-18 18:31:49 +01:00
Simone Bordet
0786da6cd0
428232 - Rework batch mode / buffering in websocket.
...
Avoid to create a new ByteBuffer just to create the mask integer,
saves allocation cost.
2014-02-18 18:31:49 +01:00
Simone Bordet
61b4b0f029
428232 - Rework batch mode / buffering in websocket.
...
Better default size for SimpleTextMessage Utf8StringBuilder,
to avoid multiple expansions and data copy of the underlying array.
2014-02-18 18:31:48 +01:00
Simone Bordet
996cc8bd92
428232 - Rework batch mode / buffering in websocket.
...
Optimized FrameFlusher to not create iterators when iterating over a
list, saving allocation costs.
2014-02-18 18:31:48 +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
d2f1954fa0
427700 - Outgoing extensions that create multiple frames should flush
...
them in order and atomically.
Optimized CompressExtension to reduce data copying at minimum on the
write path.
2014-02-15 17:53:37 +01:00
Simone Bordet
a8e4caca90
427700 - Outgoing extensions that create multiple frames should flush
...
them in order and atomically.
Removed unused code.
2014-02-15 17:53:23 +01:00
Simone Bordet
a2a90c5c87
427700 - Outgoing extensions that create multiple frames should flush
...
them in order and atomically.
Modified FragmentExtension to use a Queue and IteratingCallback to
make sure that frames are iteratively fragmented.
The creation of the next fragment only happens when there is a callback
from the next outgoing layer.
2014-02-14 22:21:59 +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
81b8990dec
427700 - Outgoing extensions that create multiple frames should flush
...
them in order and atomically.
Modified DeflateFrameExtension to use a Queue and IteratingCallback to
make sure that frames are iteratively compressed in chunks.
The compression of the next chunk only happen when there is a callback
from the next outgoing layer.
2014-02-14 22:21:59 +01:00
Simone Bordet
53b1ee9e47
427700 - Outgoing extensions that create multiple frames should flush
...
them in order and atomically.
Modified ExtensionStack to use a Queue and IteratingCallback to make
sure that messages are processed sequentially.
2014-02-14 22:21:59 +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
b37c68db3b
427690 - Remove Mux Extension and related support.
2014-02-10 13:10:58 +01:00
Simone Bordet
66a19bd646
Avoided to copy the frame payload if we happen to have it all
...
available.
2014-02-10 12:56:54 +01:00