Trustin Lee
d4665f1703
Fix test failures
2013-06-28 21:14:23 +09:00
Trustin Lee
1e0146da3e
Optimize MessageList.add(MessageList, int, int)
2013-06-28 20:53:57 +09:00
Trustin Lee
7cf88a1a3c
Add MessageList.array() / Rewrite MessageList.add(T[], int, int)
...
- MessageList.array() should give better performance + concise code
- MessageList.add(T[], int, int) iterated over the source array 3 times at worst case. This commit reduces that to 1 time.
2013-06-28 20:47:19 +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
52691488ee
Update Javadoc of ByteBufProcessor and MessageListProcessor
...
- in response to @shacharo's suggestion
2013-06-27 19:01:01 +09: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
9804741fb3
Fix test failure in SlicedByteBuf / Add tests for built-in ByteBufProcessor impls
...
- Related: #1378
2013-06-27 17:49:46 +09:00
Trustin Lee
98531313de
Optimize derived buffers' forEachByte(...) implementation
...
- Related: #1378
2013-06-27 17:36:22 +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
734ec51ac9
Allow specifying 0 as the default number of threads when instantiating an EventLoopGroup
...
- Fixes #1426
- We already allow a user instantiate an EventLoopGroup with the default number of threads via the default constructor, so I think it's OK although it's not always optimal.
2013-06-27 10:39:39 +09:00
Norman Maurer
1c57e3830c
[ #1474 ] Make sure testsuite also pass when no network/internet connection is present
2013-06-26 21:13:32 +02:00
Norman Maurer
a52eafd7e8
Fix FileServer example
2013-06-26 20:22:34 +02:00
Trustin Lee
cfd514d099
Add WebSocketClientHandshaker.close()
...
- Fixes #1470
2013-06-25 18:52:27 +09:00
Trustin Lee
c7c9e743ce
Fix naming
2013-06-25 18:37:29 +09:00
Trustin Lee
bc483724f4
Improve the documentation of MessageList
...
- Fixes #1459
2013-06-25 18:27:29 +09:00
Trustin Lee
1f27c3b390
Make NioByteUnsafe.read() respect ChannelConfig.maxMessagesPerRead and adjust the default from 16 to 1
...
- Fixes #1486
- Decreased the default from 16 to 1 because unnecessary extra read on req-res protocols results in lower throughput due to extra syscalls.
2013-06-25 18:08:39 +09:00
Trustin Lee
a1632e7d15
Add ChannelConfig.maxMessagesPerRead and ChannelOption.MAX_MESSAGES_PER_READ
...
- Fixes #1486
- Make sure AbstractNioMessageChannel.NioMessageUnsafe.read() only up to maxMessagesPerRead
2013-06-25 17:49:28 +09:00
Norman Maurer
58b968b603
[ #1454 ] Fix IndexOutOfBoundsException which was thrown if last component of a CompositeByteBuf was removed
2013-06-25 09:32:00 +02:00
Norman Maurer
e8ea98017f
Fix regression introduced by 0364265f46
which could lead to corrupt attribute values
2013-06-25 09:31:51 +02:00
Trustin Lee
dbab41cc50
Improve the utilization of subpage pools
...
.. by avoiding the overly frequent removal of a subpage from a pool
This change makes sure that the unused subpage is not removed when there's no subpage left in the pool. If the last subpage is removed from the pool, it is very likely that the allocator will create a new subpage very soon again, so it's better not remove it.
2013-06-25 11:07:15 +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
e0805ecea9
SPDY: handle too large header blocks
...
- Forward-ported 22b8a96e044b77e5fadc5a1217080a1f9c69aa9c
2013-06-25 11:07:15 +09:00
Trustin Lee
c77f03d886
Fix AdaptiveRecvByteBufAllocator.getSizeTableIndex()
2013-06-25 11:07:15 +09:00
Norman Maurer
c9d01b2fb5
[ #1461 ] Correctly handle DefaultChannelGroup.write(..) of ByteBuf and ByteBufHolder
2013-06-25 11:07:14 +09:00
Norman Maurer
e06fcdbc6a
[ #1475 ] Correctly handle writes with empty MessageList in SslHandler
2013-06-25 11:07:14 +09:00
Norman Maurer
ad73dce7a1
[ #1464 ] Make sure the ChannelPromise for writes is notified while using SslHandler
2013-06-25 11:07:14 +09:00
Trustin Lee
cfb3b977a1
Fix the catastrophic failure caused by AdaptiveRecvByteBufAllocator.getSizeTableIndex()
2013-06-25 11:07:14 +09:00
Trustin Lee
a2f232720b
Make AdaptiveRecvByteBufAllocator's lookup table simpler / Optimize buffer size normalization
...
- No need to have fine-grained lookup table because the buffer pool has
much more coarse capacities available
- No need to use a loop to normalize a buffer capacity
2013-06-25 11:07:14 +09:00
Trustin Lee
dba3aa2d4f
Add io.netty.noResourceLeak option to microbench
2013-06-25 11:07:14 +09:00
Andrej Golovnin
c07b0cac70
Adds port to the host header value. Due to http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.23 the port should be added if it differs from the default port. To simplify the code we just always add the port.
2013-06-25 11:07:14 +09:00
Jeff Pinner
c86155e4d4
SPDY: replace exception in SpdyHeaderBlockZlibEncoder with EMPTY_BUFFER
2013-06-25 11:07:14 +09:00
Trustin Lee
a969613540
Merge ChannelInboundConsumingHandler into SimpleChannelInboundHandler
...
- SimpleChannelInboundHandler now has a constructor parameter to let a
user decide to enable automatic message release. (the default is to
enable), which makes ChannelInboundConsumingHandler of less value.
2013-06-25 11:07:14 +09:00
Norman Maurer
bfc9c6d80d
Add ChannelInboundConsumingHandler
...
..which is useful when the handler is placed at the last position of the
pipeline because it releases the received messages automatically.
2013-06-25 11:07:14 +09:00
Tony Rice
6c5c119f8c
Fix incorrect parameter validation in DefaultFileRegion
2013-06-25 11:07:14 +09:00
Trustin Lee
dc6e2cd625
Make AbstractMemoryHttpData generate less garbage
2013-06-25 11:07:13 +09:00
Trustin Lee
58c33d71db
Fix another compilation error
2013-06-25 11:07:13 +09:00
Trustin Lee
39d71440e1
Fix checkstyle
2013-06-25 11:07:13 +09:00
Trustin Lee
96c5ab62e6
Fix IndexOutOfBoundsException raised by JZlibEncoder.encode()
...
- Fixes #1471
2013-06-25 11:07:13 +09:00
Trustin Lee
c7038ed8d6
Fix a compilation error
2013-06-25 11:07:13 +09:00
Trustin Lee
b6fdac7df3
Remove unnecessary logging handler - ByteLoggingHandler and MessageLoggingHandler / Extensible log message formatiing
2013-06-25 11:07:13 +09:00
Trustin Lee
63403884f7
Make sure PlatformDependent.isRoot0() works fine in Android
...
.. by swallowing ErrnoException raised by process.destroy().
Fixes #1472
2013-06-25 11:07:13 +09:00
Trustin Lee
32aa661604
Make sure PlatformDependent.maxDirectMemory() works on Android
...
- Fixes #1451
2013-06-25 11:07:13 +09:00
Trustin Lee
952e7bbec7
Remove cruft
2013-06-25 11:07:13 +09:00
Trustin Lee
6f86f38ae9
Fix IllegalStateException triggered by a successful connection attempt
...
- Fixes #1467
- Provide more information about the tasks and promises on exception for easier debugging
2013-06-25 11:07:13 +09:00
Trustin Lee
8570c717ad
Upgrade to javassist 3.18.0-GA
2013-06-25 11:07:13 +09:00
Luke Wood
f0ad079737
SCTP: Reduce object allocation overhead and fix receive buffer allocation
...
There are a couple of changes here all related to making the SCTP
transport less garbage-heavy:
- Remove the SctpNotificationEvent and just passes along the JDK NIO
Notification, as passing the Notification and always null inside a
wrapped object seemed a little bit superfluous
- Apply @trustin's changes to receive buffer allocation to SCTP
transport, and also makes the SCTP transport use the configured buffer
allocator rather than always creating a direct buffer (which seems
like a bug)
2013-06-25 11:07:13 +09:00