Commit Graph

356 Commits

Author SHA1 Message Date
ursa
afdac5611e Fix life-cycle aware handlers processing in the default pipeline, add tests. 2013-03-14 11:19:34 +01:00
Trustin Lee
5d0d309f98 Fix intermittent test failure in UnsupportedMessageTest 2013-03-04 16:18:02 +09:00
Trustin Lee
984276355c Use InternalLogger in our code / Use jul in examples 2013-02-11 20:37:31 +09:00
Trustin Lee
9071a624b2 Fix inspector warnings 2013-02-11 16:52:43 +09:00
ursa
e3559518bc Add test for HttpPostRequestDecoder: validate '\r' symbols in the end of binary stream are parsed correctly. 2013-02-06 16:23:25 +01:00
Michael Morello
923e69251b NioServerBossPool : init() must be called after super(...) otherwise thread name determiner is not used 2013-01-25 11:13:51 +01:00
Norman Maurer
bc64c18827 [#937] Add test for ServerBootstrap.bindAsync(..) 2013-01-16 08:27:44 +01:00
Norman Maurer
fc5606e034 Make compatible with java5 2013-01-15 09:24:21 +01:00
alexey
9fcd31a4f4 backport socks codec to 3 branch 2013-01-15 09:16:08 +01:00
Trustin Lee
560ccc019c Fix various inspection warnings 2013-01-10 15:24:49 +09:00
Norman Maurer
0365b25e5b [#906] Fix VirtualExecutorService.awaitTermination(..) to behave like specified in the javadocs 2013-01-08 13:49:44 +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
Trustin Lee
44938973b4 Fix compilation warnings 2012-12-14 18:35:39 +09: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
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
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
5ec179c33c [#723] Use ExecutorServer.shutdown() in ExecutorHandler when terminate it. This way not tasks are lost 2012-11-17 19:47:06 +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
Trustin Lee
adee1b4156 Fix visibility warnings from the inspector. 2012-11-12 14:03:43 +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
a76cdc26d0 Remove unnecessary qualifiers 2012-11-12 09:11:48 +09:00
Norman Maurer
95074e3677 Allow to serve more then one bound port per Thread. This fix the problem that you was not able to bound thousends of ports without huge amount of threads. 2012-11-11 18:52:28 +01:00
Trustin Lee
6be84510dc More robust localhost resolution
Ensure the resolved localhost can be bound and connected actually
2012-11-10 08:45:07 +09:00
Trustin Lee
922a8dbb47 Use 'x' over "x" wherever possible / String.equals("") -> isEmpty() 2012-11-10 08:03:52 +09:00
Trustin Lee
d638052036 Add 'static' modifier to the methods that don't need to be member methods 2012-11-10 07:54:33 +09:00
Trustin Lee
9a87f1748c Make classes static wherever possible 2012-11-10 07:32:52 +09:00
Trustin Lee
4b4c6a436b Remove unused imports 2012-11-10 07:05:18 +09:00
Trustin Lee
bc7eb20c6e Remove various unnecesary qualifiers 2012-11-10 07:02:56 +09:00
Trustin Lee
44159abefa Remove redundant field initialization 2012-11-10 06:56:39 +09:00
Trustin Lee
5d1690dfa7 Add missing final modifiers 2012-11-10 02:19:39 +09:00
Trustin Lee
6453b71ab0 Remove recundant type casting 2012-11-10 02:13:33 +09:00
Trustin Lee
72d85f58eb Remove unnecessarily qualified statis access 2012-11-10 01:31:31 +09:00
Trustin Lee
0bc6ace8d1 Remove redundant no-arg constructors 2012-11-10 01:08:32 +09:00
Trustin Lee
74a235d29f Simplify array initialization 2012-11-10 01:00:26 +09:00
Trustin Lee
c34d0a2272 Replace dynamic regular expressions with precompiled Patterns or new StringUtil.split() 2012-11-10 00:42:35 +09:00
Trustin Lee
c06722c232 Add missing @Override annotation 2012-11-09 17:34:24 +09:00
Trustin Lee
3e21e3250f Fix overly-strong type casts 2012-11-09 17:15:13 +09:00
Norman Maurer
1a006fafad [#719] Handle http requests without an absolute path the right way when encoding them, which is adding / to it 2012-11-09 07:16:32 +01:00
Norman Maurer
389cdb124f Add a test that I wrote while working on some OOME problem 2012-10-04 11:07:05 +02:00
Norman Maurer
4dc4664692 Fix year in header 2012-10-01 06:59:13 +02:00
Norman Maurer
8f4c583e40 Fix NPE in MemoryAwareThreadPoolExecutor and also add a testcase. See #634 2012-10-01 06:57:12 +02:00
Norman Maurer
530b72fad7 Fix IndexOutOfBoundException when using CompositeChannelBuffer and the readerIndex is at the last position and an empty array is passed to read to. See #474 2012-09-22 18:33:33 +02:00
Daniel Bevenius
21b9dd00cd WebSocket enhancements for 3.x 2012-09-11 08:51:15 +02:00
norman
3d441821a9 Throw an RejectedExecutionException if someone tries to register a Channel to an AbstractNioWorker that was shutdown before. Part of #582 2012-09-04 07:40:07 +02:00
Trustin Lee
32c58354fa Add SystemPropertyUtil.refresh() / Remove DebugUtilTest
- DebugUtilTest does not pass at all unless a new VM is not launched for
  every test method
2012-09-03 16:12:02 +09:00
Trustin Lee
ebbcfbc185 Fix test failure 2012-08-20 12:04:16 +09:00