Commit Graph

4278 Commits

Author SHA1 Message Date
Trustin Lee
1eafffbec5 Use thread-local map instead of ConcurrentHashMap for faster instantiation of handler adapters 2013-02-08 17:24:29 +09:00
Trustin Lee
b4eaedf712 Remove confusing ChannelState/OperationHandlerAdapter.inboundBufferUpdated/flush() implementation 2013-02-08 17:17:39 +09:00
Trustin Lee
d385cba41c Fix method naming / Make super method final 2013-02-08 17:08:58 +09:00
Trustin Lee
76eb40a4d2 Make ChannelOutboundMessageHandlerAdapter similar to ChannelInboundMessageHandlerAdapter 2013-02-08 17:07:01 +09:00
Trustin Lee
1640b1fea6 Automatically detect the message types in MessageToMessageCodec 2013-02-08 16:12:32 +09:00
Trustin Lee
71136390f1 Extract type parameter finder code to a utility class 2013-02-08 15:57:23 +09:00
Norman Maurer
1033bec4cd AbstractBootstrap.validate() should return reference to itself 2013-02-08 07:52:35 +01:00
Trustin Lee
fa1b49de98 More robust automatic messageType detection for ChannelInboundMessageHandlerAdapter and MessageToMessageDecoder 2013-02-08 15:45:17 +09:00
Norman Maurer
38ee575839 Let ChannelGroupFuture.addListener(..) return itself to make consistent with ChannelFuture 2013-02-08 07:41:24 +01:00
Norman Maurer
539418ecac Let ChannelPipeline.set* methods return itself to be more consistent with the reset 2013-02-08 07:24:55 +01:00
Norman Maurer
32e0b59761 Let ChannelPipeline implement Iterable 2013-02-08 07:10:46 +01:00
Trustin Lee
e5616c85c4 Automatic messageType detection for ChannelInboundMessageHandlerAdapter 2013-02-08 13:48:47 +09:00
Trustin Lee
f9eff51683 Fix missing ChannelHandlerUtil.acceptedMessageTypes() in ByteToMessageCodec constructor 2013-02-08 13:24:27 +09:00
Trustin Lee
df65b93032 Use Message<Object> instead of Message<I> 2013-02-08 13:05:27 +09:00
Trustin Lee
ac72c3512e Ensure ChannelInboundMessageHandlerAdapter.endMessageReceived() is always called after handling the inbound message queue. / Call fireInboundBufferUpdated() automatically if the next inbound message buffer was changed. 2013-02-08 13:03:45 +09:00
Trustin Lee
9319e3ebd0 Fix SocketShutdownOutputByPeerTest failure
- With half-close enabled, the selector loop was spinning due to uncleared OP_READ flag.
 - Added some delay to the test for more reliable failure
2013-02-08 01:50:44 +09:00
Trustin Lee
d8c0bf3be2 Add the 'nextBufferType' parameter to ByteArrayEncoder like did to StringEncoder / Consistent parameter order 2013-02-08 01:36:41 +09:00
Trustin Lee
b8c0751023 Fix a regression where writing a ByteBuf are discarded 2013-02-08 00:41:35 +09:00
Trustin Lee
30e80f8c5c Fix a regression in ChannelInboundMessageHandlerAdapter
- Should forward the unsupported message to the next inbound buffer rather than the next outbound buffer.
2013-02-08 00:08:39 +09:00
Trustin Lee
ec51b359c9 Fix checkstyle again 2013-02-08 00:00:14 +09:00
Trustin Lee
9aa9d8a99b Fix checkstyle
- Basically a workaround for IntelliJ's automatic import optimization
2013-02-07 23:58:21 +09:00
Trustin Lee
d4742bbe16 Clean up abstract ChannelHandler impls / Remove ChannelHandlerContext.hasNext*()
- Rename ChannelHandlerAdapter to ChannelDuplexHandler
- Add ChannelHandlerAdapter that implements only ChannelHandler
- Rename CombinedChannelHandler to CombinedChannelDuplexHandler and
  improve runtime validation
- Remove ChannelInbound/OutboundHandlerAdapter which are not useful
- Make ChannelOutboundByteHandlerAdapter similar to
  ChannelInboundByteHandlerAdapter
- Make the tail and head handler of DefaultChannelPipeline accept both
  bytes and messages.  ChannelHandlerContext.hasNext*() were removed
  because they always return true now.
- Removed various unnecessary null checks.
- Correct method/field names:
  inboundBufferSuspended -> channelReadSuspended
2013-02-07 23:47:45 +09:00
Trustin Lee
7eed272e57 Add FilteredMessageBuf 2013-02-07 23:37:04 +09:00
Norman Maurer
a13246a2b6 [#1024] Limit the number of SelectionKey.interestedOps(..) calls for performance reasons 2013-02-07 15:34:38 +01:00
Norman Maurer
611bb32846 Fix build of all-in-one jar 2013-02-07 15:09:58 +01:00
Norman Maurer
582c6be456 [#1023] WebSocketClientHandshaker00 now also work with non heap buffers 2013-02-07 14:21:11 +01:00
Norman Maurer
d98fbf7a82 Upgrade to new barchart-udt-bundle 2013-02-06 21:31:30 +01:00
ursa
f09b85f4e7 Add test for HttpPostRequestDecoder: validate '\r' symbols in the end of binary stream are parsed correctly. 2013-02-06 20:21:56 +01:00
Andrei Pozolotin
f24872c566 [#1010] Add verify module to check osgi bundles 2013-02-06 20:13:07 +01:00
Norman Maurer
56b1a18de0 Upgrade barchart udt bundle 2013-02-06 08:04:49 +01:00
Norman Maurer
fd75615d7a [#870] Convert all modules into osgi bundles 2013-02-06 07:57:11 +01:00
ursa
992d431a95 Fix line-end detection for binary streams upload.
- Related: #1016
2013-02-06 11:54:05 +09:00
Norman Maurer
46bedb8151 Add javadocs to make contract more clear 2013-02-05 20:29:38 +01:00
Norman Maurer
86b4cde82f Make sure the inbound/outbound buffer of the ChannelHandlerContext is only modified within the EventLoop 2013-02-05 16:19:04 +01:00
Trustin Lee
fd40df9033 Rename the artifact 'netty' to 'netty-all' and make it non-OSGi
- We are going to make individual modules OSGi
2013-02-05 18:49:45 +09:00
Trustin Lee
598e70fd8f Upgrade to netty-build-16 2013-02-05 18:48:19 +09:00
Trustin Lee
cb4b673456 Disable AIO transport tests on Windows
- Related: #726
2013-02-05 17:06:56 +09:00
Trustin Lee
2e44a1ba91 Fix test failures in SingleThreadEventLoopTest on Windows
- It seems like Windows sometimes sleeps less than specified.
- Related issue: #726
2013-02-05 16:27:37 +09:00
Norman Maurer
5b81e1692d Move non socket specific stuff out of the socket package, part 2 2013-02-01 10:32:27 +01:00
Norman Maurer
ade3cc1329 Move non socket specific stuff out of the socket package 2013-02-01 09:10:28 +01:00
Luke Wood
bfe44180f9 Fix SnappyFramedDecoder issues
- Checksum header was being incorrectly read due to incorrect order of
  shift and masking operations.
- Length field of 1-byte copy was being incorrectly interpreted due to a
  typo in the binary mask used to extract it.
- Use ByteBuf.readUnsignedByte() instead of readByte() & 0xff
- Use bitwise-OR wherever possible
- Use EmbeddedByteChannel to test
- Use ByteBuf comparison instead of array comparison
- Work done by @lw346 and then revised by @trustin
2013-02-01 13:10:34 +09:00
Trustin Lee
2ec932798f Replace .readable() and .writable() to .isReadable() and .isWritable() 2013-01-31 18:24:33 +01:00
Trustin Lee
42c65cca3a Make MessageBuf bounded
- Move common methods from ByteBuf to Buf
- Rename ensureWritableBytes() to ensureWritable()
- Rename readable() to isReadable()
- Rename writable() to isWritable()
- Add isReadable(int) and isWritable(int)
- Add AbstractMessageBuf
- Rewrite DefaultMessageBuf and QueueBackedMessageBuf
  - based on Josh Bloch's public domain ArrayDeque impl
2013-01-31 18:11:06 +01:00
Norman Maurer
ec013bf2d3 [#983] Force the user to implement an actual ChannelInboundHandler or ChannelOutboundHandler
For this ChannelInboundHandler* and ChannelOutboundHandler* was made package private
2013-01-31 15:50:27 +01:00
Trustin Lee
1f2aca02da Add more compiler plugin options to make compilerArguments works 2013-01-31 21:02:56 +09:00
Trustin Lee
db37652f2a Add compiler options to find unchecked/deprecated code 2013-01-31 20:57:58 +09:00
Norman Maurer
2ad1451ce8 Fix semantic of DefaultAttribute impl on setIfAbsent 2013-01-31 11:52:36 +01:00
Courtney Robinson
2d9cc9f63b Allow to specify the mode the encoder uses for form params. This allows it to be used with OAUTH
The OAuth 1 spec has small deviations from UrlEncoder.encode's output.

+ Percent encodes the parameters
+ Added tests to verify
+ See relevant OAuth section
http://oauth.net/core/1.0/#encoding_parameters
+ Detailed explanation http://hueniverse.com/oauth/guide/authentication/
2013-01-31 07:49:34 +01:00
Trustin Lee
b46760f93f Upgrade to netty-build-15 to fix build issues 2013-01-31 14:11:54 +09:00
Trustin Lee
071b067b3f Add missing file
- Related issue: #1003
2013-01-31 12:28:27 +09:00