Commit Graph

3087 Commits

Author SHA1 Message Date
Norman Maurer
725a54d07a [#865] Fix regression in SslHandler which can cause to miss a wrap() call 2012-12-29 08:37:39 +01:00
Piotr Bartosiewicz
6274abd134 [#845] Enable PUT of files above 2GB 2012-12-24 21:14:51 +01:00
Norman Maurer
7269dff87f [maven-release-plugin] prepare for next development iteration 2012-12-20 07:08:30 +01:00
Norman Maurer
06b3c8afd1 [maven-release-plugin] prepare release netty-3.6.0.Final 2012-12-20 07:08:22 +01:00
Norman Maurer
badbc88032 List draft-ietf-hybi-thewebsocketprotocol-07 as supported websocket version 2012-12-20 06:49:43 +01:00
Norman Maurer
c59a4738ef [#832] Add javadocs which explains how to workaround the problem 2012-12-19 15:11:21 +01:00
Norman Maurer
795d336bab [#751] Backport WebSocket 07 support 2012-12-19 12:29:20 +01:00
Trustin Lee
f0a5774fed Do not use slice() to read content of an HTTP message
This fixes the bug introduced while fixing #412
2012-12-19 18:38:03 +09:00
Norman Maurer
f13f3d1ed3 [#799] [#835] Allow to set a timeout for the SslHandler.handshake(), after which it will fail 2012-12-19 10:04:03 +01:00
Norman Maurer
dcd0723a9d [#829] Add test that can be used to verify the fix, this failed before. 2012-12-17 13:53:00 +01:00
Norman Maurer
e784a773f7 [#829] Fix a race in SslHandler which could lead to all types of SSLExceptions, including handshake() failures 2012-12-17 13:52:02 +01:00
Trustin Lee
44938973b4 Fix compilation warnings 2012-12-14 18:35:39 +09:00
Norman Maurer
7278664c0b [#807] SslHandler.handshake() need to respect ChannelFuture of wrapNonAppData(...) 2012-12-13 16:49:47 +01:00
Jeff Pinner
07e0e158d9 Merge pull request #804 from arya/fix_hash_wheeled_timer_space_leak
fix containsValue to take snapshot of `table` and use Arrays.fill
2012-12-12 10:30:40 -08:00
Arya Asemanfar
6f6e1693cf fix containsValue to take snapshot of table and use Arrays.fill for clearing out oldTable 2012-12-12 09:36:22 -08:00
Arya Asemanfar
9dd0756d7a clear out the hash table after resizing, and check for table modification in reads 2012-12-08 11:04:10 +01:00
Norman Maurer
7aa2cfad65 [#775] Rework closing logic of Worker/Boss
Added a shutdown() method on ChannelFactory, Boss, Worker, BossPool, WorkerPool and Bootstrap which can be used to just shutdown the instance and so release all internal created resources. This method is also called when releaseExternalResources() which will also release external created resources like Executors.

This commit also fixes the problem that the Worker/Boss Thread will never be released if you use an Executor (no ExecutorService).
2012-12-05 13:47:10 +01:00
Trustin Lee
95684d92eb [#789] Allow a user to trigger the epoll bug workaround
This commit adds rebuildSelector(s) method to Boss, BossPool, Worker, and WorkerPool.  A user can call rebuildSelector(s) method to initiate the workaround for the infamous epoll 100% CPU bug in Linux based on his or her observations rather than potentially incorrect automatic initiation of the workaround.

Previously, setInterestOps() were executed by a caller thread, which made re-registration of SelectionKeys unsafe.  This commit also ensures setInterestOps() is always executed by an I/O thread.  With this change, we don't need NioProviderMetadata anymore.
2012-12-04 18:24:47 +01:00
Trustin Lee
d4a7722cfd Update netty-build to the latest version
From this commit, checkstyle considers an unnecessary empty line as a
violation.
2012-12-04 16:48:27 +09:00
Trustin Lee
7f1b38262c Remove unnecessary empty lines 2012-12-03 20:51:25 +09:00
Norman Maurer
a52c5befe3 [786] Fix possible corruption of first WebSocketFrame caused by WebSocketServerHandshaker* 2012-12-02 19:59:41 +01:00
Norman Maurer
15c67f87ff [#776] Introduce the possiblilty to specify a BossPool when construct ChannelFactory instances.
* Beside this allow to set a ThreadNameDeterminer per BossPool and WorkerPool. This allows to have different determiner instances in the same JVM.
This fixes #771.
* With the possiblity to share BossPools it is even easier to limit the Thread counts even if you need to create many ChannelFactory instances. So this gives a lot of flexibility.
2012-11-29 20:06:32 +01:00
Norman Maurer
1e515b092c fixing type on event/send argument 2012-11-27 19:37:28 +01:00
Trustin Lee
e7fd2afc25 Remove redundant exception message 2012-11-26 15:33:57 +09:00
Trustin Lee
0a1c5bef21 Make CompatibleMarshallingDecoder discard the inbound buffer once TooLongFrameException is raised
(See #768)

Once too long object is received, CompatibleMarshallingDecoder has to
discard all input from now on, just like MarshallingDecoder does.
Otherwise, the decoder will raise more exceptions because the decoder
has no idea anymore where the object starts.

Before this fix, SerialThreadLocalCompatibleMarshallingDecoderTest
logged many additional exceptions raised by the decoder after test is
finished.
2012-11-26 14:44:03 +09:00
Norman Maurer
ef481bfedb [#766] Rename method to extractFrame(..), no need to make it more complicated in 3 2012-11-25 17:53:56 +01:00
Norman Maurer
bc1ef572b9 [#766] Add extract(..) method to FrameDecoder to allow easier optimizations in sub-classes and still make it consistent 2012-11-25 17:33:38 +01:00
Daniel Bevenius
ed65dffddf Adding WebSocket Example using WebSocketServerProtocolHandler. 2012-11-25 14:28:52 +01:00
Benoit Sigoure
d4155ad518 Add a line-based frame decoder with good performance.
Using DelimiterBasedFrameDecoder with Delimiters.lineDelimiter() has
quadratic performance in the size of the input buffer.  Needless to
say, the performance degrades pretty quickly as the size of the buffer
increases.  Larger MTUs or loopback connections can make it so bad that
it appears that the code is "busy waiting", when in fact it's spending
almost 100% of the CPU time in DelimiterBasedFrameDecoder.indexOf().

Add a new LineBasedFrameDecoder that decodes line-delimited frames
in O(n) instead of DelimiterBasedFrameDecoder's O(n^2) implementation.
In OpenTSDB's telnet-style protocol decoder this resulted in throughput
increases of an order of magnitude.

Change DelimiterBasedFrameDecoder to automatically detect when the
frames are delimited by line endings, and automatically switch to
using LineBasedFrameDecoder under the hood.  This means that all Netty
applications out there that using the combo DelimiterBasedFrameDecoder
with Delimiters.lineDelimiter() will automatically benefit from the
better performance of LineBasedFrameDecoder, without requiring a code
change.
2012-11-24 20:51:45 +01:00
Norman Maurer
26943f189c [761] Fix possible NPE in cleanupWriteBuffer() when closing Channel 2012-11-23 06:47:10 +01:00
Jeff Pinner
6f589dd12b Merge pull request #755 from jaens/3-spdy-fix-truncation-2
SPDY: fix header block values truncation in decompression
2012-11-20 10:43:31 -08:00
Jaen Saul
0cb145ed68 SPDY: fix header block values truncation in decompression 2012-11-20 20:25:37 +02:00
Norman Maurer
5ec179c33c [#723] Use ExecutorServer.shutdown() in ExecutorHandler when terminate it. This way not tasks are lost 2012-11-17 19:47:06 +01:00
Jeff Pinner
8e3ec00e33 SPDY: fixed session status (internal error misdocumented) 2012-11-17 19:27:07 +01:00
Norman Maurer
3e7c8341a6 [#734] Make sure that ChannelFuture is also notified when write an unsupported message to the channel and also prevent a NPE which could be raised because of the bug before 2012-11-16 22:42:52 +01:00
Norman Maurer
d15f9eda08 [#740] Fix WebSocketClientHandshaker00.finishHandshake() validations 2012-11-15 13:00:44 +01:00
Norman Maurer
1e8ed50482 [#737] WebSocketClientHandshaker00 should set Content-Length header do workaround problem with proxy 2012-11-14 10:12:42 +01:00
Trustin Lee
7a7668b101 Upgrade netty-build to 12 2012-11-14 16:32:07 +09:00
Norman Maurer
50e171273d [#735] Improve the notification of the handshake future 2012-11-13 18:42:12 +01:00
Norman Maurer
966565d4b9 [#735] Make sure the handshake ChannelFuture is notified after the right encoder is present in the ChannelPipeline 2012-11-13 09:31:34 +01:00
Norman Maurer
a0e9921517 [#735] Make sure the handshake ChannelFuture is notified after the right encoder is present in the ChannelPipeline 2012-11-13 09:14:16 +01:00
Norman Maurer
df575c6cd0 [#729] Correctly handle urls with empty abs_path in it when issue the websocket handshake 2012-11-12 15:33:23 +01:00
Trustin Lee
adee1b4156 Fix visibility warnings from the inspector. 2012-11-12 14:03:43 +09:00
Trustin Lee
262919b045 Allow '_' in parameter names although discouraged 2012-11-12 13:39:24 +09:00
Trustin Lee
c09f8c147d Fix more inspection warnings + compilation errors 2012-11-12 13:24:59 +09:00
Trustin Lee
bcc088b3d7 Fix parameter namings + some more 2012-11-12 12:59:37 +09:00
Trustin Lee
369574078b Fix inspection warnings related with JUnit usage 2012-11-12 12:45:06 +09:00
Trustin Lee
669fa64829 Fix various Javadoc issues / Do not use argN parameter names 2012-11-12 12:26:18 +09:00
Trustin Lee
d92236a124 Prefer {@code ...} to <code>...</code> / Fix deprecation warnings 2012-11-12 11:51:23 +09:00
Trustin Lee
c1b31f982e Fix deprecation warnings 2012-11-12 11:25:58 +09:00