Jeff Pinner
f75b6b142c
SPDY: fix regression in SpdyFrameDecoder.decodeHeaderBlock()
2013-01-14 10:58:03 -08:00
Trustin Lee
1354b4a1ac
SPDY: allow empty header values in SPDY/3
...
Ported from 3
2013-01-14 22:59:11 +09:00
Trustin Lee
57153079a5
Chrome requires the :version: header in SPDY_SESSION_PUSHED_SYN_STREAM frames otherwise it issues a HTTP_TRANSACTION_SPDY_SEND_REQUEST_HEADERS and a SPDY_STREAM_ERROR saying "HEADERS incomplete headers, but pending data frames."
...
Ported from 3
2013-01-14 22:37:05 +09:00
Trustin Lee
573a723dc2
Fix a bug where ChannelPIpeline.remove/replace() fails when its channel is not registered yet
2013-01-14 21:50:08 +09:00
Trustin Lee
e263769a55
Fix a bug where the buffers are freed too early when a handler is removed or replaced
2013-01-14 21:43:45 +09:00
Trustin Lee
a03bc6ea1d
Fix a bug where freeInbound/OutboundBuffer() is not called when a handler is removed from a pipeline.
2013-01-14 20:54:12 +09:00
Jestan Nirojan
49bf02ce09
[ #929 ] Implemented multi-homing opertions in SctpServerChannels and SCTP Javadocs cleanup
2013-01-13 20:52:02 +01:00
Norman Maurer
eb91a6d4e6
[ #924 ] [ #914 ] Fix high CPU usage which was caused because the OP_CONNECT flag was not cleared after the connect was complete
2013-01-11 19:42:21 +01:00
Trustin Lee
04bae9bceb
Use sun.misc.Unsafe to access a direct ByteBuffer
...
- Add PooledUnsafeDirectByteBuf, a variant of PooledDirectByteBuf, which
accesses its underlying direct ByteBuffer using sun.misc.Unsafe.
- To decouple Netty from sun.misc.*, sun.misc.Unsafe is accessed via
PlatformDependent.
- This change solely introduces about 8+% improvement in direct memory
access according to the tests conducted as described in #918
2013-01-11 16:25:12 +09:00
Norman Maurer
e564157381
Fix one checkstyle and one compile error caused by the last commit
2013-01-11 07:45:22 +01:00
Norman Maurer
75b2dd592a
Merge branch 'master' of github.com:netty/netty
2013-01-11 07:33:54 +01:00
Trustin Lee
64ae8b6a37
Replace and merge DetectionUtil and DirectByteBufUtil into PlatformDependent and PlatformDependent0
...
PlatformDependent delegates the operations requires sun.misc.* to PlatformDependent0 to avoid runtime errors due to missing sun.misc.* classes.
2013-01-11 14:03:27 +09:00
Trustin Lee
896bbb67b6
Use sun.misc.Unsafe to access a direct buffer if possible
2013-01-10 21:30:11 +01:00
Norman Maurer
5b5b39a606
[ #916 ] Only access Cleaner if it is really present to prevent errors on android
2013-01-10 20:03:54 +01:00
Trustin Lee
bfa3445bb3
Remove netty-metrics-yammer from example dependencies
...
.. because it pulls SLF4J as a runtime dependency
2013-01-11 00:38:36 +09:00
Trustin Lee
f7a076e0ea
Clean up netty-metrics-yammer pom.xml
2013-01-11 00:16:06 +09:00
Trustin Lee
366c6c86dc
Remove redundant dependency version
2013-01-11 00:14:21 +09:00
Trustin Lee
8975406b86
Ensure the outbound buffer is not freed on write completion
...
- Fixes #919
2013-01-10 21:05:51 +09:00
Norman Maurer
ec5ad7b22c
[ #921 ] Fix NPE which can be thrown on bad-timing when using WebSocketClientHandshaker07
2013-01-10 12:40:27 +01:00
Trustin Lee
5bd8b41a58
Use Number.reverseBytes() instead of custom impl
2013-01-10 18:47:21 +09:00
Trustin Lee
340da3e97b
Fix infinite recursion
2013-01-10 18:43:20 +09:00
Trustin Lee
753d0bfbae
Remove the memory option previously added to avoid OOME
...
We don't see OOME anymore
2013-01-10 16:25:41 +09:00
Trustin Lee
665d022e82
Use a heap buffer from the allocator because it doesn't seem to cause OOME anymore
2013-01-10 16:23:40 +09:00
Trustin Lee
3fe9a58f41
Fix checkstyle
2013-01-10 15:35:36 +09:00
Trustin Lee
eb337ff5a7
Fix various inspection warnings
2013-01-10 15:23:58 +09:00
Trustin Lee
3c9d912355
Use InetSocketAddress wherever possible / Tighten the return type of Channel.parent()
2013-01-10 14:17:54 +09:00
Trustin Lee
793a571465
Fix a runtime type cast exception when calling RxtxChannel.local/remoteAddress()
2013-01-10 14:01:17 +09:00
Trustin Lee
b5e6350bcb
Fix compiler warning
2013-01-10 13:55:15 +09:00
Trustin Lee
8cba765463
Indentation
2013-01-10 13:28:09 +09:00
Trustin Lee
4528c793ba
Fix naming issues in RxtxChannelConfig / Format cleanup
2013-01-10 13:24:36 +09:00
Trustin Lee
0c3732cad5
Fix invalid module name format
2013-01-10 13:14:36 +09:00
Luke Wood
c094abad7b
[ #561 ] [ #912 ] Add Rxtx transport
2013-01-09 21:32:51 +01:00
Trustin Lee
d5a7057c3f
Fix inconsistent module name
2013-01-09 23:37:10 +09:00
Trustin Lee
7755a82674
Revert mistakenly committed test change
2013-01-09 21:29:41 +09:00
Trustin Lee
137f29ba65
Do not read if a channel is inactive
2013-01-09 21:28:31 +09:00
Trustin Lee
46e364e7b7
Remove unnecessary parameters
2013-01-09 20:36:16 +09:00
Trustin Lee
b9352ded13
Fix a bug where prev/next context is not always set
2013-01-09 20:34:22 +09:00
Trustin Lee
8586d43b23
Fix DefaultChannelPipeline.toString() / Remove unnecessary conditions
2013-01-09 19:16:09 +09:00
Trustin Lee
b6fcf3acc4
Simplify DefaultChannelPipeline
2013-01-09 19:13:43 +09:00
Norman Maurer
b742dcc209
[ #902 ] Remove usage of generics for output of Encoder/Decoder to make them more flexible again
2013-01-09 07:13:31 +01:00
Trustin Lee
5d2e0688ab
Fix checkstyle
2013-01-09 15:12:25 +09:00
Trustin Lee
5c2be33cae
Delegate to the actual encoder/decoder if possible
2013-01-09 15:09:20 +09:00
Trustin Lee
102563ec8f
No need to override ByteToMessageCodec.decoder.discardInboundReadBytes()
2013-01-09 15:05:03 +09:00
Trustin Lee
ef692b0c38
Add missing decodeLast()
2013-01-09 14:58:44 +09:00
Trustin Lee
b58a8f0106
Add missing codec operations in ByteToMessageCodec
2013-01-09 14:56:07 +09:00
Trustin Lee
4a3d73724f
Make all encoder/decoder methods overridable in MessageToMessageCodec
2013-01-09 14:44:19 +09:00
Trustin Lee
8d0785da36
Rename MessageToMessageEncoder.freeInboundMessage() to freeOutboundMessage()
2013-01-09 14:35:50 +09:00
Trustin Lee
8d5fd0839f
Make ByteToMessageCodec.isEncodable() public like other similar methods
2013-01-09 14:28:42 +09:00
Trustin Lee
aa69d628f1
Add ByteToMessageCodec.isEncodable()
2013-01-09 14:26:15 +09:00
Trustin Lee
dd6b7969b7
Give a handler more control over how its buffers' read bytes are discarded.
...
This pull request adds two new handler methods: discardInboundReadBytes(ctx) and discardOutboundReadBytes(ctx) to ChannelInboundByteHandler and ChannelOutboundByteHandler respectively. They are called between every inboundBufferUpdated() and flush() respectively. Their default implementation is to call discardSomeReadBytes() on their buffers and a user can override this behavior easily. For example, ReplayingDecoder.discardInboundReadBytes() looks like the following:
@Override
public void discardInboundReadBytes(ChannelHandlerContext ctx) throws Exception {
ByteBuf in = ctx.inboundByteBuffer();
final int oldReaderIndex = in.readerIndex();
super.discardInboundReadBytes(ctx);
final int newReaderIndex = in.readerIndex();
checkpoint -= oldReaderIndex - newReaderIndex;
}
If a handler, which has its own buffer index variable, extends ReplayingDecoder or ByteToMessageDecoder, the handler can also override discardInboundReadBytes() and adjust its index variable accordingly.
2013-01-09 13:34:09 +09:00