Commit Graph

1661 Commits

Author SHA1 Message Date
Trustin Lee
e2086cb754 Fixed a potential bug where close future might not be notified 2010-01-09 05:39:23 +00:00
Trustin Lee
d924439330 Sorted cases in switch statements just in case compiler makes a mistake 2010-01-09 05:38:34 +00:00
Trustin Lee
9c0e9e1780 Workaround for a compiler bug (unsorted switch cases) 2010-01-09 05:30:39 +00:00
Trustin Lee
a1d7a75ff4 Line wrap at 80 2010-01-09 00:52:20 +00:00
Trustin Lee
6e228216b4 better documentation 2010-01-08 23:12:00 +00:00
Trustin Lee
a8d9e044d2 17 -> BUCKET_SIZE 2010-01-08 14:11:18 +00:00
Trustin Lee
4999fabbcc NPE check 2010-01-08 13:29:39 +00:00
Trustin Lee
d7be7be552 Initial check-in of the WebSocket implementation and its example 2010-01-08 08:45:56 +00:00
Trustin Lee
9f8fa65a14 * Use HttpRequest.isKeepAlive() instead of long conditionals
* Use HttpChunkAggregator because we don't want to complicate the example
2010-01-08 08:33:48 +00:00
Trustin Lee
f926c0adc0 Use HttpRequest.isKeepAlive() instead of long conditionals 2010-01-08 08:31:52 +00:00
Trustin Lee
4ede085edc * Replaced TreeMap with custom linked hash map for storing HTTP headers
* Added HttpMessage.getHeaders() and HttpChunkTrailer.getHeaders()
2010-01-08 08:29:37 +00:00
Trustin Lee
58086a865f Code clean up 2010-01-07 09:19:19 +00:00
Trustin Lee
46e9fe364a Fixed issue: NETTY-272 HttpMessageEncoder should not prepend/append extra data around HttpChunk content if Transfer-Encoding is not chunked.
* OneToOneEncoder should ignore null because HttpMessageEncoder returns null when HttpChunk.isLast() is true.
2010-01-07 09:08:15 +00:00
Trustin Lee
661acd24c8 Fixed issue: NETTY-272 HttpMessageEncoder should not prepend/append extra data around HttpChunk content if Transfer-Encoding is not chunked.
* HttpMessageEncoder now does not add any extra data around HttpChunk content if Transfer-Encoding is not 'chunked'
* Moved the utility code that checks the existance of 'Transfer-Encoding: chunked' to HttpCodecUtil so that both HttpMessageEncoder and DefaultHttpMessage can use it
2010-01-07 09:05:38 +00:00
Trustin Lee
491baa0c7b Added the header constants related with WebSocket 2010-01-07 07:57:14 +00:00
Trustin Lee
bda5887238 Added Channels.pipeline(ChannelHandler...) 2010-01-07 06:41:15 +00:00
Trustin Lee
d26dc2791f Added a FIXME marker for StaticChannelPipeline 2010-01-07 05:44:44 +00:00
Trustin Lee
0596aaac48 Extracted int-to-string conversion to ConversionUtil 2010-01-07 05:33:50 +00:00
Trustin Lee
bfc3b3999d Educational information about UDP packet length limitation 2010-01-06 12:13:40 +00:00
Trustin Lee
96da66960a Fixed a bug: NETTY-270 DatagramChannelConfig.setOption("receiveBufferSizePredictorFactory",..) does not work.
* Added a missing if statement
2010-01-06 12:03:18 +00:00
Trustin Lee
6dcc714704 Indentation 2009-12-30 03:20:22 +00:00
Trustin Lee
aae6dce046 Indentation 2009-12-30 03:14:50 +00:00
Trustin Lee
7036654647 * Resolved issue: NETTY-269 (Add ChannelBuffers.copiedBuffer() that accepts char[], CharBuffer, and CharSequence)
* Rewrote toString() and copiedBuffer() implementation
* Removed unnecessary methods in CharsetUtil
2009-12-29 07:24:24 +00:00
Trustin Lee
33766a1f4f Removed the deprecated tests 2009-12-29 05:54:38 +00:00
Trustin Lee
24b59bbfa9 Resolved issue: NETTY-268 (Use Charset instead of String to represent a character set.)
* Replaced String charsetName with Charset
* Added o.j.n.util.CharsetUtil
2009-12-29 05:52:00 +00:00
Trustin Lee
55078d87bd Documentation 2009-12-29 03:07:20 +00:00
Trustin Lee
a07d24ec3e Fixed issue: NETTY-267 ChannelGroupFuture.iterator() should iterate in the order where the I/O actually occurred.
* Replaced HashMap with LinkedHashMap in DefaultChannelGroup and DefaultChannelGroupFuture
2009-12-29 02:29:41 +00:00
Trustin Lee
0314234a41 Spacing 2009-12-29 01:34:00 +00:00
Trustin Lee
437cc0211c '\n' -> "\r\n" 2009-12-24 03:18:00 +00:00
Trustin Lee
3ff8cd46c9 * Backported LinkedTransferQueue from the latest upstream revision (1.71)
** Replaced the use of sun.misc.Unsafe with Atomic*FieldUpdater
** Added ThreadLocalRandom
2009-12-24 03:10:34 +00:00
Trustin Lee
c7e2562f1c Fixed issue: NETTY-265 NIO datagram transport should not close the channel on write failure 2009-12-22 04:38:34 +00:00
Trustin Lee
974a18568a Backported the changes (~ 1.44) in LinkedTransferQueue from the upstream 2009-12-21 08:51:11 +00:00
Trustin Lee
eb575430c2 If parentHandler is specified, ServerBootstrap should not use StaticChannelPipeline because the parentHandler might want to manipulate the pipeline 2009-12-18 06:22:08 +00:00
Trustin Lee
64f0a931a4 Reverting back the previous change - some codecs might manipulate the pipeline dynamically 2009-12-18 06:17:59 +00:00
Trustin Lee
553f8cf1e9 Resolved issue: NETTY-262 Static ChannelPipeline implementation
* Added StaticChannelPipeline
* Changed all Bootstrap implementations to work with StaticChannelPipeline
* Changed ServerBootstrap and AbstractCodecEmbedder to leverage StaticChannelPipeline
* StackTraceSimplifier should recognize StaticChannelPipeline
2009-12-18 06:03:37 +00:00
Trustin Lee
9951e19573 Null check 2009-12-17 10:57:57 +00:00
Trustin Lee
15aded0df7 * More documentation for developers 2009-12-17 10:21:34 +00:00
Trustin Lee
65634bda11 * Better documentation for developers
* Fixed a bug where a channelOpen event is swallowed
2009-12-17 10:19:09 +00:00
Trustin Lee
3fcfc910e1 IdleStateHandler.initialize() and ReadTimeoutHandler.initialize() must not be called if their pipeline is not attached yet. Otherwise the timeout might occur even before the connection is established. 2009-12-17 10:14:22 +00:00
Trustin Lee
2bf4dfcfb9 More Javadoc for LifeCycleAwareChannelHandler 2009-12-17 09:43:45 +00:00
Trustin Lee
d06a6285ea Fixed a broken Javadoc link 2009-12-17 09:23:02 +00:00
Trustin Lee
fd3bcedbbf At least timestamps must be updated on channelOpen 2009-12-17 09:16:52 +00:00
Trustin Lee
ba17621c01 IdleStateHandler and ReadTimeoutHandler don't need to override channelOpen anymore because the contract of LifeCycleAwareChannelHandler has been changed. 2009-12-17 09:13:30 +00:00
Trustin Lee
7048c51898 Fixed Javadoc of LifeCycleAwareChannelHandler
* Some handlers (e.g. SslHandler, ZlibEncoder) need to store its context somewhere, and they needed to implement both beforeAdd() and channelOpen() because beforeAdd() is not called if pipeline is not attached.  This led to code duplication.  To address this issue, ChannelPipeline now always calls the life cycle listeners whether it is attached or not
2009-12-17 09:11:07 +00:00
Trustin Lee
f7606ffc31 Fixed a bug where the first handler's life cycle listener is not called 2009-12-17 09:05:46 +00:00
Trustin Lee
d6facc0b9e Removed the Javadoc links to the deprecated methods 2009-12-17 08:46:18 +00:00
Trustin Lee
578def7a9b Fixed issue: NETTY-260 ZlibEncoder.close() and SslHandler.handshake/close() methods do not require a parameter
* SslHandler implements LifeCycleAwareChannelHandler to retrieve its context
* SslHandler.handshake() and close() do not need an argument anymore
* Deprecated the old methods
2009-12-17 08:44:38 +00:00
Trustin Lee
3275f74ef9 Fixed issue: NETTY-260 ZlibEncoder.close() and SslHandler.handshake/close() methods do not require a parameter
* ZlibEncoder implements LifeCycleAwareChannelHandler to retrieve its context
* ZlibEncoder.close() does not need an argument anymore
2009-12-17 08:37:11 +00:00
Trustin Lee
2958023950 Documented the possibility of thread safety issues in BufferedWriteHandler due to wrong queue implementation 2009-12-16 08:35:30 +00:00
Trustin Lee
c35231ae95 Resolved issue: NETTY-209 (Batch Write Handler)
* Added BufferedWriteHandler
2009-12-16 08:29:33 +00:00
Trustin Lee
feac8bb5fa Related issue: NETTY-259 (Add constants and enums for HTTP PATCH method)
* Added HttpMethod.PATCH
* Added HttpHeaders.Names.ACCEPT_PATCH
* Added all known HTTP response code to HttpResponseStatus
2009-12-16 07:23:35 +00:00
Trustin Lee
d87408936f BlockingReadHandler does not need to implement LifeCycleAwareChannelHandler 2009-12-16 06:39:53 +00:00
Trustin Lee
bab9af2b52 * Fixed a problem where BlockingReadHandler does not handle exceptions properly
* Added BlockingReadHandler.readEvent()
2009-12-16 06:24:45 +00:00
Trustin Lee
38c60ef807 More straightforward description 2009-12-16 05:05:56 +00:00
Trustin Lee
47498eb159 Resolved issue: NETTY-258 (Make DynamicChannelBuffer.ensureWritableBytes() public)
* Added ChannelBuffer.ensureWritableBytes(int)
2009-12-16 05:02:23 +00:00
Trustin Lee
45d36f96b9 Shorted package description 2009-12-07 06:26:56 +00:00
Trustin Lee
7894784ea9 BlockingReadTimeoutException should extend InterruptedIOException just like SocketTimeoutException does 2009-12-07 06:23:22 +00:00
Trustin Lee
2685d03d8f Resolved issue: NETTY-208 (Blocking read handler)
* Added BlockingReadHandler and its exception
2009-12-07 06:22:06 +00:00
Trustin Lee
f7a0a4db11 Related issue: NETTY-256 (A race condition during the recommended server shutdown procedure)
* Fixed a failing test (NioServerSocketShutdownTimeTest) by waking up the selector explicitly
2009-11-30 21:19:50 +00:00
Trustin Lee
42d2f79239 Resolved issue: NETTY-256 (A race condition during the recommended server shutdown procedure)
* Fixed a bug in the socket transport implementations where a new connection can be accepted after the ChannelFuture of ServerSocketChannel.close() is complete.
* Introduced a lock to ensure that the boss thread is terminated before notifying the future
2009-11-30 11:59:00 +00:00
Trustin Lee
1688569758 Related issue: NETTY-253 (Add several useful getters and setters to ChannelBuffer class)
* Added ChannelBuffer.hasArray/array/arrayOffset()
2009-11-25 07:08:52 +00:00
Trustin Lee
2c3ab480a2 Related issue: NETTY-253 (Add several useful getters and setters to ChannelBuffer class)
* Added getters and setters for char, float, and double
2009-11-25 06:51:43 +00:00
Trustin Lee
f534c2ac53 Set svn properties 2009-11-23 05:37:56 +00:00
Trustin Lee
885ef30dfc Set svn properties 2009-11-23 05:37:35 +00:00
Trustin Lee
a6184725ba Removed a tab 2009-11-23 05:37:07 +00:00
Trustin Lee
f17d05311f Removed a tab 2009-11-23 05:34:22 +00:00
Trustin Lee
44ab3dd94a HttpMessageDecoder.message doesn't need to be 'protected' 2009-11-21 15:51:21 +00:00
Trustin Lee
cf5ef8cf5e Resolved issue: NETTY-247 Make HttpMessage, HttpChunk and their default implementation completely mutable 2009-11-20 04:12:16 +00:00
Trustin Lee
4649d57097 More strict testing 2009-11-19 10:09:40 +00:00
Trustin Lee
abe2a88d60 Resolved issue: NETTY-255 (Make CookieDecoder more robust)
* Modified CookieDecoder not to recognize commas and semicolons as attribute separators if it's impossible to decode the next entry.
* Added a test case for decoding Google Analytics cookie which raised this issue initially
2009-11-19 09:46:30 +00:00
Trustin Lee
9e44dbada5 Resolved issue: NETTY-254 Do not do lazy-initialization in dynamic buffer
* No lazy initialization anymore for DynamicChannelBuffer - it just causes confusion to users!
2009-11-19 08:38:46 +00:00
Trustin Lee
6795fc0627 updated version string in docbook 2009-11-18 12:28:39 +00:00
Trustin Lee
2dde687e85 '' 2009-11-18 10:18:15 +00:00
Trustin Lee
8eeb72cbbf Reverted the previous optimization because it might perform very bad as the number of components in the composite buffer increases 2009-11-17 15:46:34 +00:00
Trustin Lee
902ab48820 * Rewrote FrameDecoder by utilizing the latest improvement in CompositeChannelBuffer
** A user doesn't need to make a copy of the cumulative buffer anymore.
*** Modified all FrameDecoder subtypes to use slice() instead of readBytes()
* Reduced the maximum length of the random writes in AbstractSocketFixedLengthEchoTest to increase the probability of composite buffer occurances
2009-11-17 15:11:31 +00:00
Trustin Lee
96bbbbb7f1 More Javadoc 2009-11-17 07:43:43 +00:00
Trustin Lee
8c39e2823e * HttpMessage.isChunked() checks the 'Transfer-Encoding' header 2009-11-17 07:39:02 +00:00
Trustin Lee
2dab484372 Fixed a bug where trailing headers are not written 2009-11-17 07:31:35 +00:00
Trustin Lee
cfd3421234 Fixed a bug where trailing headers are not written 2009-11-17 07:22:06 +00:00
Trustin Lee
40597002e9 resolved issue: NETTY-250 HttpMessageDecoder violates HTTP/1.0 by converting a message into chunked encoding
* HttpMessageDecoder does not add the 'Transfer-Encoding' header anymore
* Added HttpMessage.setChunked()
* The semantic of the HttpMessage.chunked has been changed
2009-11-17 07:19:28 +00:00
Trustin Lee
ce48ab0058 * Changed the semantic of HttpMessage.isChunked()
* updated the Javadoc of HttpMessageDecoder
2009-11-17 06:02:42 +00:00
Trustin Lee
4ce65f3621 Resolved issue: NETTY-251 Add support for HTTP trailing headers
* Modified HttpMessageDecoder to generate HttpChunkTrailer with trailing headers
* Trailing headers are not merged into HttpMessage anymore for correctness
2009-11-17 05:39:01 +00:00
Trustin Lee
e81d0e5414 Related issue: NETTY-251 Add support for HTTP trailing headers
* Added DefaultHttpChunkTrailer
* Moved header validation logic to HttpCodecUtil
2009-11-17 05:27:20 +00:00
Trustin Lee
e0ea707e92 Related issue: NETTY-251 Add support for HTTP trailing headers
* Added HttpChunkTrailer interface - need to write the default implementation
* HttpChunk.LAST_CHUNK implements HttpChunkTrailer
2009-11-17 05:12:55 +00:00
Trustin Lee
960bbe3879 Typo 2009-11-17 04:59:33 +00:00
Trustin Lee
e12d04da74 Optimized HttpChunk.LAST_CHUNK 2009-11-17 04:58:49 +00:00
Trustin Lee
ebb10d3267 Related issue: NETTY-251 Add support for HTTP trailing headers
* Added the preliminary support - the trailing headers are simply merged to the HttpMessage.  The last chunk type should be added, too.
2009-11-17 04:55:56 +00:00
Trustin Lee
2e47058fc7 typo 2009-11-17 04:16:24 +00:00
Trustin Lee
6075c50cf7 Resolved issue: NETTY-252 Remove the deprecated types and methods 2009-11-17 03:30:46 +00:00
Trustin Lee
9c5a14b0c2 Should close the channel explicitly on connection attempt failure 2009-11-16 05:21:51 +00:00
Trustin Lee
f8aea1547e * Removed the calls to SelectionKey.cancel() which takes places before calling Channel.close(), according to SelectableChannel Javadoc
* Fixed a bug where connect future is not notified if the channel is closed during the connection attempt
2009-11-16 05:14:36 +00:00
Trustin Lee
1f2d65ce54 Added missing annotation 2009-11-11 04:22:28 +00:00
Trustin Lee
464ea90492 Fixed some non-sense code as advised by FindBugs 2009-11-03 07:44:06 +00:00
Trustin Lee
ed3500373f Improved Javadoc 2009-11-03 07:11:52 +00:00
Trustin Lee
b3e938924c tlee@redhat.com -> trustin@gmail.com 2009-11-03 06:49:47 +00:00
Trustin Lee
e0132d5885 Updated the HTTP snoop example to fully utilize the compression handlers 2009-11-03 06:48:39 +00:00
Trustin Lee
b31f1429b6 * Better method naming
* Added HttpContentEncoder and HttpContentCompressor (needs javadoc update)
2009-11-03 06:47:30 +00:00
Trustin Lee
6e51084216 Changed constructor parameter order 2009-11-03 06:46:30 +00:00
Trustin Lee
26cdadda9e Simplified HttpContentDecoder using the new methods in CodecEmbedder 2009-11-03 02:59:18 +00:00
Trustin Lee
5eb56831e8 Optimized CompositeChannelBuffer creation 2009-11-03 02:34:54 +00:00