Trustin Lee
d2b137649d
Fix more memory leaks in the buffer tests
2013-03-14 15:25:22 +09:00
Trustin Lee
9c96791176
Move the methods that's only used by DefaultChannelPipeline to DefaultChannelPipeline
2013-03-14 15:01:35 +09:00
Trustin Lee
d55567e21b
Remove DefaultChannelHandlerContext.needsLazyBufInit which is used only by the head handler
2013-03-14 14:35:56 +09:00
Trustin Lee
f1ecb4ab1a
Remove ChannelHandlerContext.types() which is barely useful / Remove ChannelHandlerType together
2013-03-14 14:14:04 +09:00
Trustin Lee
d19b575c31
Fix an incorrect modulo operation
2013-03-14 13:17:07 +09:00
Trustin Lee
9feb27d58c
Specify timeout on Selector.select()
2013-03-14 08:54:33 +09:00
Trustin Lee
4323fea5fb
Fix a bug where TypeParameterMatcher does not detect the case where the type parameter is derived from an outer class
...
- Fixes #1153
2013-03-14 07:22:44 +09:00
Trustin Lee
b86d3d692a
Fix a bug where AbstractByteBuf.order() doesn't return a swapped buffer if capacity is 0.
...
- Fixes #1152
2013-03-14 06:58:14 +09:00
Trustin Lee
644d5abbda
Add an empty line
2013-03-14 06:54:57 +09:00
Trustin Lee
8dcb1387e3
Add I/O ratio parameter to NioEventLoop
...
- Add SingleThreadEventExecutor.runAllTasks(timeout)
- Add NioEventLoop.ioRatio property
- Merge SelectorUtil into NioEventLoop
2013-03-14 06:49:08 +09:00
Trustin Lee
97b2feedec
HexDumpProxy should log hex dump.
2013-03-13 16:54:20 +09:00
Trustin Lee
42e31a4445
Revert "[ #1131 ] Codecs must not cache next buffer during processing"
...
This reverts commit b1775a3223
.
2013-03-13 15:17:06 +09:00
Trustin Lee
5830875b42
Fix a memory leak in AbstractCompositeByteBufTest
...
- Fixed #1147
2013-03-13 15:09:26 +09:00
Trustin Lee
94a9096be5
Fix a memory leak in AbstractCompositeByteBufTest
2013-03-12 17:57:23 +09:00
Trustin Lee
b271774c90
Fix memory leak in UnpooledTest
...
- nothing critical. It's a test that leaks. Not CompositeByteBuf implementation.
2013-03-12 16:49:14 +09:00
Trustin Lee
cef81f1bff
Revert e66fc219ff
2013-03-12 16:44:25 +09:00
Norman Maurer
fe66f33f42
Fix issue where the bytes/messages are forwarded to the wrong handler
2013-03-12 08:37:27 +01:00
Norman Maurer
17ebbdec20
Let ChannelGroupFuture extends ChannelFuture and ChannelGroupFutureListener GenericFutureListener
2013-03-12 08:35:39 +01:00
Norman Maurer
f2a35273e6
Fix checkstype
2013-03-12 08:35:24 +01:00
Trustin Lee
c25513d5e1
Upgrade to protobuf 2.5 and take advantage of MessageLite.getParserFromType()
...
- also fall back to MessageBuilder if getParserFromType() is not available.
2013-03-12 16:25:35 +09:00
Trustin Lee
559b860ff6
Fix grammar
2013-03-12 15:23:09 +09:00
Trustin Lee
397830d238
Allow SingleOutboundMessageHandler.beginFlush() to reject the flush request by returning false / Replace PartialFlushException with IncompleteFlushException which is more correct.
2013-03-12 15:20:46 +09:00
Trustin Lee
83cdbeca1d
Add ThreadPerChannelEventLoopGroup and ThreadPerChannelEventLoop to enable a user to write a new thread-per-channel transport easily
...
- Fixes #1124
2013-03-12 14:50:38 +09:00
Trustin Lee
6e0e38f09f
Fix test failures
2013-03-12 14:43:38 +09:00
Trustin Lee
e1dd149ca6
Reschedule the streaming API for later
...
- Will release as a part of http_next
2013-03-12 13:08:10 +09:00
Trustin Lee
c660002b4e
Add DecoderResult.UNFINISHED to represent the case where a decoder generated a message that was not decoded completely / Remove partial failure in DecoderResult which is not very useful but confusing
2013-03-12 13:04:53 +09:00
Norman Maurer
acde9a3f8e
Fix a NoSuchElementException when WebSocketClientHandshaker is used with HttpRequestEncoder. This time for real
2013-03-11 14:39:41 +01:00
Norman Maurer
978cf0d98a
Fix a NoSuchElementException when WebSocketClientHandshaker is used with HttpRequestEncoder
2013-03-11 13:54:03 +01:00
Norman Maurer
2406a9f8b8
Use LinkedHashSet
2013-03-11 06:38:39 +01:00
Trustin Lee
e203618007
Travis CI branch whitelisting
2013-03-11 09:55:43 +09:00
Trustin Lee
8f5eaaa740
Make StreamTest finish sooner to make CI happy
2013-03-11 09:46:36 +09:00
Trustin Lee
5bcde10557
Clean before installation in Travis CI
2013-03-11 09:20:20 +09:00
Trustin Lee
24c3b3f6e7
Run full build on Travis CI install
2013-03-11 09:14:06 +09:00
Trustin Lee
27b2f1304b
Why don't CI services upgrade to Maven 3.0.5?
...
Do they just wait for someone to exploit the vulnerability?
2013-03-11 09:11:11 +09:00
Trustin Lee
5d65bbc0a9
Add package-info.java for the Stream API / Print maven version on travis CI
2013-03-11 09:09:46 +09:00
Norman Maurer
806e9b1f8c
Make sure we handle outbound messages of type ByteBuf special
2013-03-11 08:59:00 +09:00
Trustin Lee
32efba34d8
Initial implementation of the Streaming API
...
This pull request provides a framework for exchanging a very large
stream between handlers, typically between a decoder and an inbound
handler (or between a handler that writes a message and an encoder that
encodes that message).
For example, an HTTP decoder, previously, generates multiple
micro-messages to decode an HTTP message (i.e. HttpRequest +
HttpChunks). With the streaming API, The HTTP decoder can simply
generate a single HTTP message whose content is a Stream. And then the
inbound handler can consume the Stream via the buffer you created when
you begin to read the stream. If you create a buffer whose capacity is
bounded, you can handle a very large stream without allocating a lot of
memory. If you just want to wait until the whole content is ready, you
can also do that with an unbounded buffer.
The streaming API also supports a limited form of communication between
a producer (i.e. decoder) and a consumer. A producer can abort the
stream if the stream is not valid anymore. A consumer can choose to
reject or discard the stream, where rejection is for unrecoverable
failure and discard is for recoverable failure.
P.S. Special thanks to @jpinner for the initial input.
2013-03-11 08:57:17 +09:00
Trustin Lee
b4bf565ad9
Travis CI configuration
2013-03-11 08:47:12 +09:00
Norman Maurer
0a1bc86569
Javadocs cleanup / added
2013-03-10 21:07:19 +01:00
Norman Maurer
0504a442ae
Check for NPE and also optimze HashSet allocation
2013-03-10 21:06:59 +01:00
Norman Maurer
0ac5fd9f18
Let BufUtil.retain(...) return the given object
2013-03-10 19:50:26 +01:00
Trustin Lee
ed825de4bf
Fix a bug where TypeParameterMatcher raises ClassCastException when an instance with raw type parameter is given
2013-03-09 09:19:34 +09:00
Trustin Lee
4f2e347625
More concise exception message
2013-03-09 08:48:22 +09:00
Norman Maurer
fcd6becad9
[ #1136 ] Fix possible IllegalBufferAccessException when remove itself from the pipeline
2013-03-08 21:55:46 +01:00
Norman Maurer
7b4c83b462
[ #1135 ] Fix endless loop which will get triggered when an exception is thrown during freeHandlerBuffersAfterRemoval
2013-03-08 21:41:59 +01:00
Norman Maurer
b1775a3223
[ #1131 ] Codecs must not cache next buffer during processing
2013-03-08 15:38:17 +01:00
Norman Maurer
8d7f1e2820
Add stacktrace to the IllegalStateException which is thrown if a Promise was notified before
2013-03-08 15:11:29 +01:00
Norman Maurer
fd3f923b52
Allow to specify the used buffer type for ChannelInboundByteBufHandler and ChannelOutboundByteBufHandler by configuration. As default it tries to use a direct ByteBuf
2013-03-08 08:20:46 +01:00
Trustin Lee
a9a29bdf3f
Use I/O buffer whenever possible now that our direct buffers are as fast as heap buffers
2013-03-08 11:21:08 +09:00
Trustin Lee
63116239ac
Always use EmptyByteBuf when a user attempts to construct a buffer with 0 maxCapacity / Make EmptyByteBuf remember the allocator it came from / Optimize EmptyByteBuf a little bit
2013-03-08 11:03:11 +09:00