Trustin Lee
f767abe5b0
Allow a user to define his/her own length field decoder
...
- Fixes #1960
2013-11-02 21:58:08 +09:00
Luke Wood
b31a1b2dca
[ #1958 ] Use CRC32-C in Snappy as per the spec
2013-11-01 20:53:16 +01:00
Trustin Lee
0dda7df344
Add a shortcut method for collision-free naming
2013-10-25 20:01:31 +09:00
Trustin Lee
dc009b2c2c
Replace UniqueName with Constant and ConstantPool
...
- Proposed fix for #1824
UniqueName and its subtypes do not allow getting the previously registered instance. For example, let's assume that a user is running his/her application in an OSGi container with Netty bundles and his server bundle. Whenever the server bundle is reloaded, the server will try to create a new AttributeKey instance with the same name. However, Netty bundles were not reloaded at all, so AttributeKey will complain that the name is taken already (by the previously loaded bundle.)
To fix this problem:
- Replaced UniqueName with Constant, AbstractConstant, and ConstantPool. Better name and better design.
- Sctp/Udt/RxtxChannelOption is not a ChannelOption anymore. They are just constant providers and ChannelOption is final now. It's because caching anything that's from outside of netty-transport will lead to ClassCastException on reload, because ChannelOption's constant pool will keep all option objects for reuse.
- Signal implements Constant because we can't ensure its uniqueness anymore by relying on the exception raised by UniqueName's constructor.
2013-10-25 19:21:53 +09:00
Norman Maurer
5a844d0bd6
[ #1812 ] Rework ByteToMessageDecoder.channelRead(..) method to allow for inlining
2013-10-24 07:15:40 +02:00
Norman Maurer
3de7a0bf76
Revert "[ #1812 ] Rework ByteToMessageDecoder.channelRead(..) method to allow for inlining"
...
This reverts commit b7262ab3da
.
2013-10-23 21:13:03 +02:00
Norman Maurer
b7262ab3da
[ #1812 ] Rework ByteToMessageDecoder.channelRead(..) method to allow for inlining
2013-10-23 19:54:24 +02:00
Norman Maurer
42cce12498
[ #1907 ] LengthFieldPrepender should better extend MessageToMessageEncoder for less memory copies
2013-10-11 06:38:18 +02:00
Norman Maurer
522dbf8543
[ #1906 ] Use a ByteBuf allocator from the ByteBufAllocator when encode Strings
2013-10-09 21:19:36 +02:00
Norman Maurer
f4edb2f689
[ #1893 ] Fix bug in JdkZlibDecoder which did not let it handle large data
2013-10-07 08:07:53 +02:00
Norman Maurer
2ffdd92b56
[ #1798 ] Correctly handle skipping of too big frames
2013-08-29 17:53:20 +02:00
Norman Maurer
5447fe1e59
Free up all buffers after the tests
2013-08-28 11:00:08 +02:00
Norman Maurer
cbf269e9b9
[ #1788 ] Correctly decode CRC32 and ISIZE when using JdkZlibDecoder
...
Because of incorrect decoding a CompressionException was thrown before
2013-08-28 09:51:04 +02:00
Derek Troy-West
71acd96361
Currently the system variable to chose which type of zlib decoder is being negated
2013-08-27 08:27:18 +02:00
Norman Maurer
09a748abdb
Bump up version to 4.1.0.Alpha1-SNAPSHOT
2013-08-26 15:18:18 +02:00
Norman Maurer
2e39b25cd4
[maven-release-plugin] prepare for next development iteration
2013-08-26 12:01:03 +02:00
Norman Maurer
b67659a866
[maven-release-plugin] prepare release netty-4.0.8.Final
2013-08-26 12:00:54 +02:00
Norman Maurer
65d24a7647
[ #1735 ] Disable usage of JdkZlibDecoder by default, will be enabled in 4.1.0.Final
2013-08-26 08:15:30 +02:00
Norman Maurer
39cabcd36c
[ #1481 ] Add a JdkZlibDecoder which has no dependencies
2013-08-14 07:41:28 +02:00
Norman Maurer
7d31943326
Remove some dead code
2013-08-11 21:37:43 +02:00
Norman Maurer
73755d1233
[ #1729 ] Let StringEncoder extend MessageToMessageEncoder and so safe a memory copy
2013-08-11 21:24:02 +02:00
Norman Maurer
9a88c50ffb
[ #1728 ] Recycle list after done with it in ReplayingDecoder/ByteToMessageDecoder channelInactive(..)
2013-08-11 21:04:55 +02:00
Norman Maurer
26ddf0849f
[ #1714 ] Make sure ByteArrayDecoder also works correctly with pooled buffers
2013-08-09 08:40:43 +02:00
Norman Maurer
1547876e97
Tiny optimizations
2013-08-09 08:24:24 +02:00
Norman Maurer
1d3560e389
[maven-release-plugin] prepare for next development iteration
2013-08-08 13:53:28 +02:00
Norman Maurer
8e97e6c461
[maven-release-plugin] prepare release netty-4.0.7.Final
2013-08-08 13:53:19 +02:00
Trustin Lee
87b17e195a
Grammar
2013-08-05 17:40:45 +09:00
Norman Maurer
4d064d85df
Rename class
2013-08-02 07:24:49 +02:00
Norman Maurer
ebee56ef49
More tests related to self removal from pipeline in ByteToMessageDecoder and ReplayingDecoder
2013-08-02 07:23:46 +02:00
Norman Maurer
487c28d93e
Add testcases to prove that remove ReplayingDecoder/ByteToMessageDecoder from within the decode(...) method works
2013-08-01 20:42:46 +02:00
Norman Maurer
3f2000fa3a
[maven-release-plugin] prepare for next development iteration
2013-08-01 10:59:55 +02:00
Norman Maurer
3f70d5caa4
[maven-release-plugin] prepare release netty-4.0.6.Final
2013-08-01 10:59:46 +02:00
Norman Maurer
a06295fe0a
Correctly fix problem in ByteToMessageDecoder and ReplayingDecoder which could let to have a released buffer passed to the decode methods.
...
This fixes #1664 and revert also the original commit which was meant to fix it 3b1881b523
. The problem with the original commit was that it could delay handlerRemove(..) calls and so mess up the order or forward bytes to late.
2013-08-01 09:54:07 +02:00
Norman Maurer
e3410680de
[maven-release-plugin] prepare for next development iteration
2013-07-31 20:08:14 +02:00
Norman Maurer
0e124583d6
[maven-release-plugin] prepare release netty-4.0.5.Final
2013-07-31 20:08:05 +02:00
Norman Maurer
6ce8571df3
[ #1668 ] Remove synchronized usage in JZlibEncoder and JdkZlibEncoder
2013-07-29 07:08:49 +02:00
Norman Maurer
6278d88d2f
[ #1656 ] Fix IndexOutOfBoundsException in MessageToMessageException
2013-07-26 11:46:26 +02:00
Norman Maurer
0bc7d3f5d1
[maven-release-plugin] prepare for next development iteration
2013-07-23 10:04:23 +02:00
Norman Maurer
ca00182797
[maven-release-plugin] prepare release netty-4.0.4.Final
2013-07-23 10:04:14 +02:00
Norman Maurer
eb3283c59c
[ #1613 ] Allow to specify if direct buffers are prefered in ByteToMessageCodec
2013-07-19 09:39:06 +02:00
Trustin Lee
7215c011ca
Fix resource leaks in the tests
2013-07-18 23:42:51 +09:00
Trustin Lee
fe59ab1b9c
Fix resource leak in LengthFieldBasedFrameDecoderTest
2013-07-18 20:55:02 +09:00
Trustin Lee
b130ee6a6c
[maven-release-plugin] prepare for next development iteration
2013-07-18 11:17:42 +09:00
Trustin Lee
10d395e829
[maven-release-plugin] prepare release netty-4.0.3.Final
2013-07-18 11:17:31 +09:00
Norman Maurer
fc7c950b08
[maven-release-plugin] prepare for next development iteration
2013-07-17 15:58:36 +02:00
Norman Maurer
bbbf72359e
[maven-release-plugin] prepare release netty-4.0.2.Final
2013-07-17 15:58:28 +02:00
Trustin Lee
57eb531eb8
[maven-release-plugin] prepare for next development iteration
2013-07-16 17:16:10 +09:00
Trustin Lee
76cefcc421
[maven-release-plugin] prepare release netty-4.0.1.Final
2013-07-16 17:15:54 +09:00
Norman Maurer
22be797054
Use Unpooled to allocate buffer in Base64
2013-07-16 07:24:45 +02:00
Norman Maurer
5297eba280
[maven-release-plugin] prepare for next development iteration
2013-07-15 15:48:15 +02:00
Norman Maurer
c5d8af446a
[maven-release-plugin] prepare release netty-4.0.0.Final
2013-07-15 15:48:05 +02:00
Trustin Lee
246a3ecdcb
[maven-release-plugin] prepare for next development iteration
2013-07-15 20:58:33 +09:00
Trustin Lee
e8fd209115
[maven-release-plugin] prepare release netty-4.0.0.Final
2013-07-15 20:58:21 +09:00
Norman Maurer
7522d530ac
Use the allocator of the src ByteBuf to allocate the new ByteBuf
2013-07-15 10:08:44 +02:00
Norman Maurer
2f7759a264
Remove unused package private classes
2013-07-14 23:50:27 +02:00
Norman Maurer
3140282ae3
Use the ByteBufAllocator when possible
2013-07-14 23:34:36 +02:00
Norman Maurer
ecb215c12f
Fix buffer leaks
2013-07-14 22:50:53 +02:00
Norman Maurer
a07abee55f
Add and correct javadocs
2013-07-13 19:42:02 +02:00
Norman Maurer
910c5fd594
Hide RecyclableArrayList from sub-classes
2013-07-13 16:57:44 +02:00
Norman Maurer
a8af577423
Add javadocs to methods that user may override and make the others final
2013-07-12 13:49:54 +02:00
Trustin Lee
765d470500
Remove UnreplayableOperationException
...
- Can't find a reason to keep it.
2013-07-12 20:40:39 +09:00
Norman Maurer
edb6786a5c
Make the cumulation field in ByteToMessageDecoder package private to hide it
2013-07-12 13:29:54 +02:00
Norman Maurer
b57d9f307f
Allow per-write promises and disallow promises on flush()
...
- write() now accepts a ChannelPromise and returns ChannelFuture as most
users expected. It makes the user's life much easier because it is
now much easier to get notified when a specific message has been
written.
- flush() does not create a ChannelPromise nor returns ChannelFuture.
It is now similar to what read() looks like.
2013-07-11 00:49:48 +09:00
Norman Maurer
da5c6add14
Rename CodecOutput to RecyclableArrayList and move it to internal package.
...
* Also reuse it in SslHandler
2013-07-10 07:50:26 +02:00
Norman Maurer
768152cf88
Correctly handle forward of remaining data on removal
2013-07-09 22:41:56 +02:00
Trustin Lee
26e9d70457
Remove channelReadSuspended / Rename messageReceived(Last) to channelRead(Complete)
...
- Remove channelReadSuspended because it's actually same with messageReceivedLast
- Rename messageReceived to channelRead
- Rename messageReceivedLast to channelReadComplete
We renamed messageReceivedLast to channelReadComplete because it
reflects what it really is for. Also, we renamed messageReceived to
channelRead for consistency in method names.
2013-07-09 23:58:51 +09:00
Trustin Lee
cbd8817905
Remove MessageList from public API and change ChannelInbound/OutboundHandler accordingly
...
I must admit MesageList was pain in the ass. Instead of forcing a
handler always loop over the list of messages, this commit splits
messageReceived(ctx, list) into two event handlers:
- messageReceived(ctx, msg)
- mmessageReceivedLast(ctx)
When Netty reads one or more messages, messageReceived(ctx, msg) event
is triggered for each message. Once the current read operation is
finished, messageReceivedLast() is triggered to tell the handler that
the last messageReceived() was the last message in the current batch.
Similarly, for outbound, write(ctx, list) has been split into two:
- write(ctx, msg)
- flush(ctx, promise)
Instead of writing a list of message with a promise, a user is now
supposed to call write(msg) multiple times and then call flush() to
actually flush the buffered messages.
Please note that write() doesn't have a promise with it. You must call
flush() to get notified on completion. (or you can use writeAndFlush())
Other changes:
- Because MessageList is completely hidden, codec framework uses
List<Object> instead of MessageList as an output parameter.
2013-07-09 23:51:48 +09:00
Trustin Lee
65c2a6ed46
Make ByteBuf an abstract class rather than an interface
...
- 5% improvement in throughput (HelloWorldServer example)
- Made CompositeByteBuf a concrete class (renamed from DefaultCompositeByteBuf) because there's no multiple inheritance in Java
Fixes #1536
2013-07-08 14:59:52 +09:00
Trustin Lee
da5a5af520
Add Test case for truncated SSL packets
...
- Related issue: #1534
- Also made sure ByteToMessageDecoder does not wrap EncoderException.
2013-07-07 11:52:34 +09:00
Norman Maurer
7dda4b9ce4
[ #1532 ] Remove @deprecated ByteBufIndexFinder and all methods that take it as argument
2013-07-06 20:14:53 +02:00
Norman Maurer
ec5e793a2f
[maven-release-plugin] prepare for next development iteration
2013-07-02 11:41:18 +02:00
Norman Maurer
ca73eaef0d
[maven-release-plugin] prepare release netty-4.0.0.CR9
2013-07-02 11:41:09 +02:00
Norman Maurer
830c559405
[maven-release-plugin] rollback the release of netty-4.0.0.CR9
2013-07-02 11:34:29 +02:00
Norman Maurer
66a16b133c
[maven-release-plugin] prepare release netty-4.0.0.CR9
2013-07-02 10:45:12 +02:00
Trustin Lee
7e3a01cc51
[maven-release-plugin] prepare for next development iteration
2013-07-02 10:26:48 +09:00
Trustin Lee
149db34c19
[maven-release-plugin] prepare release netty-4.0.0.CR8
2013-07-02 10:26:32 +09:00
Trustin Lee
a6bdd7cda4
Fix compilation errors
2013-07-01 17:27:45 +09:00
Norman Maurer
4dab51b619
Remove un-used method parameter
2013-06-28 20:41:10 +02:00
Norman Maurer
e234abdbf7
Add javadocs
2013-06-28 20:28:29 +02:00
Trustin Lee
613547b0b9
[maven-release-plugin] prepare for next development iteration
2013-06-28 22:15:33 +09:00
Trustin Lee
a6abd2feb2
[maven-release-plugin] prepare release netty-4.0.0.CR7
2013-06-28 22:15:20 +09:00
Trustin Lee
0dcf352f4c
Vastly simplified ByteBufProcessor and MessageListProcessor
...
- Related: #1378
- They now accept only one argument.
- A user who wants to use a buffer for more complex use cases, he or she can always access the buffer directly via memoryAddress() and array()
2013-06-28 20:29:00 +09:00
Norman Maurer
094d01873b
Throw IllegalStateException if implementations of ByteToMessageDecoder and ByteToMessageCodec use @Sharable
2013-06-27 22:38:35 +02:00
Trustin Lee
ac39cad5ff
Split ByteBuf.forEachByte() into forEachByte() and forEachByteDesc()
...
- Related: #1378
- As suggested by @liqweed
2013-06-27 18:48:09 +09:00
Trustin Lee
b5bb36c087
Use (fromIndex, toIndex) instead of (index, length) for ByteBuf.forEachByte(...)
...
- Related: #1378
2013-06-27 17:30:19 +09:00
Trustin Lee
792edf631c
Deprecate ByteBufIndexFinder
...
- Prefer ByteBufProcessor
- Related: #1378
2013-06-27 14:26:58 +09:00
Trustin Lee
4dd9b6ef2e
Add ByteBufProcessor and ByteBuf.forEach(...)
...
- Fixes #1378
- Needs to provide optimized forEach implementations though.
2013-06-27 13:55:42 +09:00
Trustin Lee
a6795d7780
[maven-release-plugin] prepare for next development iteration
2013-06-25 11:07:15 +09:00
Trustin Lee
2221446425
[maven-release-plugin] prepare release netty-4.0.0.CR6
2013-06-25 11:07:15 +09:00
Trustin Lee
96c5ab62e6
Fix IndexOutOfBoundsException raised by JZlibEncoder.encode()
...
- Fixes #1471
2013-06-25 11:07:13 +09:00
Norman Maurer
14f2e29af9
[ #1450 ] Fix examples in ReplayDecoder javadocs
2013-06-16 16:53:03 +02:00
Trustin Lee
a5871dfd86
[maven-release-plugin] prepare for next development iteration
2013-06-14 12:55:15 +09:00
Trustin Lee
f5377cc8d7
[maven-release-plugin] prepare release netty-4.0.0.CR5
2013-06-14 12:55:05 +09:00
Trustin Lee
30bfb989c1
Fix memory leak
2013-06-14 10:44:22 +09:00
Trustin Lee
e5ca6518ba
[maven-release-plugin] prepare for next development iteration
2013-06-13 17:02:32 +09:00
Trustin Lee
381063e09c
[maven-release-plugin] prepare release netty-4.0.0.CR4
2013-06-13 17:02:19 +09:00
Trustin Lee
fa277eda20
Fix reported leaks
2013-06-13 15:24:19 +09:00
Trustin Lee
427d9c4bf2
Fix test failures and reported leaks
2013-06-13 15:18:11 +09:00
Trustin Lee
01d9f10af6
Remove the volatile modifiers where they are unnecessary
2013-06-13 14:43:39 +09:00
Trustin Lee
6d1cd0d0cd
ReferenceCountException -> IllegalReferenceCountException
2013-06-13 14:00:15 +09:00