Commit Graph

1556 Commits

Author SHA1 Message Date
Greg Wilkins 0e458c80f4 reverted version to SNAPSHOT 2014-04-10 16:37:25 +10:00
Jesse McConnell c616ece6c7 [maven-release-plugin] prepare release jetty-9.1.4.v20140401 2014-04-02 10:55:21 -05:00
Greg Wilkins 710ea48244 430654 430242 - Closeable SharedBlockingCallback 2014-03-22 09:36:09 +11:00
Greg Wilkins 5d83a43cce 430242 - added SharedBlockingCallback to support threadsafe blocking 2014-03-22 08:42:03 +11:00
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