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
Norman Maurer
3a3c5de76b
Merge branch '3' of github.com:netty/netty into 3
2012-08-12 10:59:04 +02:00
Norman Maurer
6d87b7629e
Fix NPE in DefaultChannelPipeline if toString() is called with an empty pipeline. See #505
2012-08-12 10:58:43 +02:00
norman
eb8757f1cb
Fix bug which leads to return HttpMessageEncoder implementations null if encoding a HttpChunk which is the last one. This vilates the OneToOneEncoder contract and so leads to a missing notification of the write future. See #493
2012-08-09 08:02:27 +02:00
Trustin Lee
4e5041d355
Fix typo in test samples
2012-07-19 20:41:35 +09:00
norman
bd1bc534d8
Add helper method that allows to create a ChannelBuffer out of a hex dump String. See #449
2012-07-11 09:41:31 +02:00
Norman Maurer
f648aae747
Fix ArrayIndexOutOfBoundsException in ReplayDecoderBuffer which could happen when calling getByte(..) or getUnsignedByte(..). See #445
2012-07-08 11:24:26 +02:00
norman
243f1bb7ee
Add testcsae for #433 . Thanks
2012-07-04 14:21:39 +02:00
norman
9a1344c3ae
Throw a special SSLException if a non SSL/TLS record was detected. See #437
2012-07-04 08:26:18 +02:00
norman
18fb438949
Correctly format cookies. This fix some bug which lead to expiring of cookies to not work. See #426
2012-07-04 07:40:39 +02:00
Norman Maurer
bf23828734
Minimize byte copies by using a CompositeChannelBuffer to concat the chunks. See #413
2012-07-01 14:52:58 +02:00
Norman Maurer
076a6a9239
Backport getBuffer(..) method in CompositeChannelBuffer. See #414 and #415
2012-06-29 13:04:15 +02:00