Commit Graph

2074 Commits

Author SHA1 Message Date
Trustin Lee
5741721f71 Fixed a bug where HEAD response is not read completely if it's transfer encoding is 'chunked'. 2010-04-16 13:32:55 +00:00
Trustin Lee
2ac79dcb74 A little optimization 2010-04-16 06:53:12 +00:00
Trustin Lee
f1bba73b22 Typo in the comment 2010-04-16 06:44:48 +00:00
Trustin Lee
d38219a85c Fixed a bug where non-successful HEAD response is assumed to have a message body 2010-04-16 06:40:29 +00:00
Trustin Lee
640fae7963 Updated architecture diagram 2010-04-16 06:31:49 +00:00
Trustin Lee
3aa3b07a95 Hint on downcasting and multicasting 2010-04-16 05:07:37 +00:00
Trustin Lee
66882ae708 * Updated APIviz tags
* More help on file transfer
2010-04-16 05:01:55 +00:00
Trustin Lee
ba08d11356 * Code clean-up
* More strict sanity check
2010-04-16 04:22:00 +00:00
Trustin Lee
48696d909f Updated APIviz tags 2010-04-16 04:12:43 +00:00
Trustin Lee
4e69cfe281 Exception should be raised even if count is 0 2010-04-12 11:57:46 +00:00
Trustin Lee
318a4d901f Fixed a silly bug in file transfer - There's no way to specify the start offset in FileRegion.transferTo() 2010-04-12 11:56:52 +00:00
Trustin Lee
17a222e397 * Changed the sort order of LocalAddress.compareTo()
* Added a FIXME to LocalAddress.compareTo()
* Modified LocalAddress.compareTo() to throw an Error when impacted by the known bug in compareTo() - will fix this bug in the next major feature release since it will break the backward compatibility
2010-04-12 10:53:49 +00:00
Trustin Lee
2fc539a9bc Proper LocalAddress.compareTo() implementation 2010-04-12 10:36:04 +00:00
Trustin Lee
d0d2519871 Fixed issue: NETTY-308 ChunkedInput implementations send only the first chunk 2010-04-12 10:22:51 +00:00
Trustin Lee
cac77a47b2 Fixed a wrong usage of ExecutionHandler in the example 2010-04-06 09:40:35 +00:00
Trustin Lee
8474026c92 * Misuse warnings are logged at WARN level now (with higher threshold)
* Extracted duplicate code into SharedResourceMisuseDetector
2010-04-06 09:23:25 +00:00
Trustin Lee
11e5e2ba56 Fixed issue: NETTY-306 bug in passing large nonchunked data through ChunketWriteHandler 2010-04-06 08:43:49 +00:00
Trustin Lee
1ae76562b7 Simplified container integration by removing unused features 2010-03-31 03:20:47 +00:00
Trustin Lee
3f7fff3fa5 HttpChunk is mutable so no need to create a new chunk 2010-03-31 03:02:58 +00:00
Trustin Lee
8eb353eb5d HttpChunk is mutable so no need to create a new chunk 2010-03-31 03:02:20 +00:00
Trustin Lee
b210c36ef9 Do not remove 'Content-Length' header even for a message with empty content - HEAD requires that 2010-03-31 02:50:19 +00:00
Trustin Lee
745b8300f0 Do not decode when the content is empty 2010-03-31 02:48:57 +00:00
Trustin Lee
c1a70b3579 HTTPS support 2010-03-31 02:26:51 +00:00
Trustin Lee
7c139cf1b7 * Added HttpClientCodec and HttpServerCodec
* Additional Javadoc about handling HEAD and CONNECT requests and their responses
2010-03-31 02:19:45 +00:00
Trustin Lee
c1b1db276d More useful Javadoc 2010-03-30 08:02:32 +00:00
Trustin Lee
4a4f129381 Better documentation 2010-03-24 05:07:27 +00:00
Trustin Lee
807291a2db Removed outdated XNIO transport - it needs to be rewritten in the next major feature release. 2010-03-24 04:00:49 +00:00
Trustin Lee
0d3389ee52 Updated Javadoc / xref css 2010-03-17 05:53:34 +00:00
Trustin Lee
5d36109464 Fixed Javadoc errors 2010-03-16 09:39:56 +00:00
Trustin Lee
fa6f7a4e6d Fixed a bug where the pooled send buffer is not released on a failed write 2010-03-08 04:17:28 +00:00
Trustin Lee
605d2969d2 Added @Deprecated annotation to the implementations of deprecated methods in ChannelBuffer (basically to silence nagging compiler) 2010-03-04 06:34:00 +00:00
Trustin Lee
1695e32b0f Removed unnecessary methods 2010-03-03 23:11:39 +00:00
Trustin Lee
8c81a1c8d8 Oops, wrong validation 2010-03-03 09:17:30 +00:00
Trustin Lee
6aa6694822 Related issue: NETTY-297 Non-ssl clients connecting to ssl server should be able to fail fast
* More strict SSL packet validation in SslHandler
2010-03-03 09:15:06 +00:00
Trustin Lee
3bbad77075 Resolved issue: NETTY-297 Non-ssl clients connecting to ssl server should be able to fail fast
* More strict SSL packet validation in SslHandler
2010-03-03 09:01:38 +00:00
Trustin Lee
5558f02003 Resolved issue: NETTY-298 Make ChannelBuffer setter/writer methods to accept int for narrower types 2010-03-03 05:35:01 +00:00
Trustin Lee
a3bae359bd Javadoc clean up 2010-02-24 00:24:41 +00:00
Trustin Lee
52ef2a5330 Upgrade your JDK to use FileRegion 2010-02-24 00:23:33 +00:00
Trustin Lee
049e97f03b Modified HTTP file server to utilize FileRegion support properly 2010-02-23 07:29:10 +00:00
Trustin Lee
aa4b8a2a6c * Changed the type of WriteCompletionEvent.amount from int to long
* Added back FileRegion since mapped buffer does not outperform transferTo()
* Refactored SocketSendBufferPool to support FileRegion
2010-02-23 07:18:58 +00:00
Trustin Lee
1989bd037b Collection -> List 2010-02-23 05:45:53 +00:00
Trustin Lee
69450ee6ec Doubled the default number of I/O threads which seems to be more sensible better performing default 2010-02-23 05:42:39 +00:00
Trustin Lee
b010cd15a5 Imlemented progress notification for NIO writes 2010-02-23 01:12:36 +00:00
Trustin Lee
43a603cfde * Removed unnecessary conditional
* Optimized the use of memory bandwidth in NioWorker.read
2010-02-23 00:56:04 +00:00
Trustin Lee
03268034c7 Removed unnecessary conditional 2010-02-23 00:43:15 +00:00
Trustin Lee
cc3b07c655 Removed FileRegion since a FileChannel can be mapped into a ChannelBuffer. What a lovely abstraction. 2010-02-22 06:18:39 +00:00
Trustin Lee
9ecd573937 Fixed Eclipse compiler warnings 2010-02-22 06:09:54 +00:00
Trustin Lee
59052be709 Related issue: NETTY-293 sendfile() support for NIO TCP transport
Support for progress notification of time-consuming I/O operations
* Added FileRegion
* Added ChannelFutureProgressListener
* Added ChannelFuture.setProgress()
* Performance seems to stay same as before fortunately
2010-02-19 09:58:38 +00:00
Trustin Lee
b97648f95e Comment fix 2010-02-19 09:18:10 +00:00
Trustin Lee
28bac1978f This should be volatile anyhow 2010-02-19 09:08:01 +00:00
Trustin Lee
0066f9c3ff Removed unnecessary volatiles from the examples 2010-02-19 09:02:57 +00:00
Trustin Lee
a462d0e85e Removed volatile from some internal state member variables in decoders because they are always either:
1) modified from the same threads or
2) protected by happens-before condition that is met by Executor's internal synchronization constructs
2010-02-19 09:00:00 +00:00
Trustin Lee
aa8e48df9f Removed 'volatile' from the member variables that are protected by ThreadPoolExecutor's BlockingQueue operations 2010-02-19 08:43:13 +00:00
Trustin Lee
e8c320c6c3 * Removed 'volatile' from the member variables that are protected by synchronized (this) block
* Updated comments regarding thread safety
2010-02-19 08:23:48 +00:00
Trustin Lee
de8671df93 Documentation fix 2010-02-19 05:13:48 +00:00
Trustin Lee
baf0978709 Fixed documentation 2010-02-19 04:49:52 +00:00
Trustin Lee
9980a25f7b Reverted back for backward compatibility 2010-02-19 04:37:36 +00:00
Trustin Lee
81d019e76a Reverted back for backward compatibility 2010-02-19 04:36:30 +00:00
Trustin Lee
d1c6ed6531 Added ChunkedFile interface 2010-02-19 04:18:35 +00:00
Trustin Lee
c7179aa28a Renamed ChunkedFile to ChunkedOioFile. ChunkedFile will be added again as an interface 2010-02-19 04:11:59 +00:00
Trustin Lee
d9de1675d0 Applied send buffer pool to nio datagram transport 2010-02-19 03:28:11 +00:00
Trustin Lee
32ef9e3e52 * Implemented send buffer pooling
* Renamed ReadBufferPool to SocketReceiveBufferPool
2010-02-19 03:10:30 +00:00
Trustin Lee
1a04586b54 Tiny optimization 2010-02-19 02:40:55 +00:00
Trustin Lee
2f601dcbaf WriteBuffer -> WriteRequestQueue 2010-02-19 01:41:32 +00:00
Trustin Lee
4be652ad04 Removed an unused method in ReadBufferPool 2010-02-19 01:13:38 +00:00
Trustin Lee
558c02b0df Tiny optimization 2010-02-19 00:57:23 +00:00
Trustin Lee
f4d7f573a1 Upgraded to Google Protobuf 2.3.0 2010-02-19 00:14:25 +00:00
Trustin Lee
cee5f945dc Tiny code clean up 2010-02-19 00:03:33 +00:00
Trustin Lee
545acfdf42 Resurrected the good old direct buffer pool as a read buffer pool instead of using it both for reads and writes. (write buffer pool needs different treatment.) 2010-02-18 15:51:06 +00:00
Trustin Lee
a9c90d0e4a Reverted back the changes about direct buffer pool - it doesn't seem to improve the performance as much as additional memory consumption and the latest one often led to OOME during testing 2010-02-18 13:00:31 +00:00
Trustin Lee
263e1ed601 It seems like using buffer pool during read doesn't seem to help performance at all. 2010-02-18 11:34:34 +00:00
Trustin Lee
e7c329cc4e Documentation 2010-02-18 11:33:54 +00:00
Trustin Lee
3412003bc2 Fixed an infinite loop 2010-02-18 04:29:58 +00:00
Trustin Lee
4ef4a92281 * Added ChunkedInput.isEndOfInput() and changed the contract of ChunkedInput.nextChunk() and hasNextChunk() to support slow streams 2010-02-18 04:24:41 +00:00
Trustin Lee
23b543c4ba Added more header getters and setters to HttpHeaders 2010-02-18 04:08:56 +00:00
Trustin Lee
3b0d843e59 Increased the default preallocation size for higher out of the box throughput 2010-02-18 02:47:09 +00:00
Trustin Lee
3e21c7a755 Catch CancelledKeyException from Selector.select() 2010-02-18 02:32:56 +00:00
Trustin Lee
3ae533815c Renamed the system property for NIO constraintLevel
Simpler log message
2010-02-18 02:23:51 +00:00
Trustin Lee
a58c7c4364 * Made the preallocated buffer capacity configurable
* Added an integer getter for SystemPropertyUtil
2010-02-18 02:12:15 +00:00
Trustin Lee
f650a8bcee Rewrote DirectBufferPool using preallocation strategy (like DirectChannelBufferFactory does) 2010-02-18 01:52:48 +00:00
Trustin Lee
2b6b49920c Refine the documentation a little bit more 2010-02-17 08:37:38 +00:00
Trustin Lee
ab1a598534 Better example that does not use attachment 2010-02-17 08:34:28 +00:00
Trustin Lee
696b5a1f45 Reorder sections in Javadoc 2010-02-17 08:28:45 +00:00
Trustin Lee
fe36292c94 Refine the documentation a little bit more 2010-02-17 08:28:00 +00:00
Trustin Lee
49f548bc5d Updated documentation 2010-02-17 08:24:25 +00:00
Trustin Lee
8841f6897f Updated documentation 2010-02-17 08:22:45 +00:00
Trustin Lee
39e91028eb Typo 2010-02-17 05:52:44 +00:00
Trustin Lee
08597e6f86 Javadoc 2010-02-16 11:55:44 +00:00
Trustin Lee
28fe7c67cb Implemented consolidate-on-flush in BufferedWriteHandler 2010-02-16 08:41:02 +00:00
Trustin Lee
dd7f588916 * Removed a solved question from the comment
* Applied the same optimization applied to the TCP transport to the UDP transport
2010-02-10 08:17:58 +00:00
Trustin Lee
bf721614ac * Removed tabs from css
* Unified indentation to 2 spaces per tab
* Re-added the Apache License header
* Show HR line
2010-02-09 05:41:34 +00:00
Trustin Lee
e1d9627113 More code font defaults 2010-02-09 04:09:46 +00:00
Trustin Lee
739e656963 More explanation on how ChannelPipelineFactory works 2010-02-09 03:56:29 +00:00
Trustin Lee
0857f398e0 Improved write performance by reducing the lame write attempts on the channel whose send buffer is full already 2010-02-09 03:41:12 +00:00
Trustin Lee
194fd79c6b Better code font 2010-02-09 03:19:11 +00:00
Trustin Lee
0496368055 New Javadoc/xref stylesheet 2010-02-09 02:54:32 +00:00
Trustin Lee
ee2ba2629e Javadoc 2010-02-08 06:11:25 +00:00
Trustin Lee
926fdcc7aa Resolved issue: NETTY-289 Disable SSL renegotiation by default
* Added SslHandler.enableRenegotiation
* Disabled renegotiation by default
2010-02-05 03:01:05 +00:00
Trustin Lee
9e72a7f3b1 Replaced the call to deprecated method 2010-02-05 00:49:25 +00:00
Trustin Lee
ffeb1bfb9c Typo 2010-02-04 10:51:42 +00:00
Trustin Lee
8e82a1621a Reverted back the opportunistic write optimization due to unstability 2010-02-03 10:06:46 +00:00
Trustin Lee
77f1b2b4a0 Potential fix for performance degradation introduced during NIO write optimization 2010-02-02 11:03:45 +00:00
Trustin Lee
dd5354858e Reduced unnecessary Thread.currentThread() calls 2010-02-02 10:54:52 +00:00
Trustin Lee
df82ff6a2c Comments 2010-02-02 04:31:12 +00:00
Trustin Lee
3f6c564090 Discard the buffer if the protocol is unknown 2010-02-02 04:30:44 +00:00
Trustin Lee
6f2897a37b Javadoc 2010-02-02 04:28:33 +00:00
Trustin Lee
deb1c1b038 Resolved issue: NETTY-261 Write a port unification example 2010-02-02 04:27:33 +00:00
Trustin Lee
0b16006fd7 Added a magic number to the factorial protocol 2010-02-02 03:13:15 +00:00
Trustin Lee
ce0d983825 * APIviz tag tweak 2010-02-02 02:13:06 +00:00
Trustin Lee
a6761fb4c9 Fixed broken Javadoc link 2010-02-02 02:01:43 +00:00
Trustin Lee
a61d5b2e6b 2010-02-02 02:00:04 +00:00
Trustin Lee
4a3495b1c8 * Added @Sharable annotation which replaces @ChannelPipelineCoverage
* Removed annotations from the examples because it's not essential part of learning the framework - User guide will explain about it later
2010-02-02 00:38:07 +00:00
Trustin Lee
2f7c758fe6 Removed the reference to ChannelPipelineCoverage in the getting started guide. Beginners should simply start from creating a new instance for every new connection, as shown in the guide and all examples which were revised to avoid confusion.
Shared instances are more advanced topic, which will be addressed in another chapter.
2010-02-01 23:56:37 +00:00
Trustin Lee
901b1f099a * Deprecated ChannelPipelineCoverage (Will be replaced with something I will introduce later)
* Revised JavaDoc so that a user can learn how to manage handler states
* Revised JavaDoc about using ExecutionHandler
2010-02-01 11:46:09 +00:00
Trustin Lee
7e3358f0f3 CRLF -> CR + LF 2010-02-01 08:32:18 +00:00
Trustin Lee
bb0c1e139f * Disabled chunked encoding for RTSP
* Added RTSP encoders
2010-02-01 08:28:17 +00:00
Trustin Lee
829114c37f Organized imports 2010-02-01 06:25:23 +00:00
Trustin Lee
686ef795f9 * Added NonReentrantLock
* Replaced ReentrantLock or monitor object with NonReentrantLock
2010-02-01 06:21:49 +00:00
Trustin Lee
2e363ee918 Inlined too trivial write() method 2010-01-29 03:09:24 +00:00
Trustin Lee
e0c14e096a Removed unnecessary attachment() calls 2010-01-29 03:04:19 +00:00
Trustin Lee
c4b5248f68 Reduced unnecessary duplicate calls on NioDatagramChannel 2010-01-29 03:02:03 +00:00
Trustin Lee
9b1d9b0c61 Reduced unnecessary duplicate calls on NioSocketChannel 2010-01-29 02:59:40 +00:00
Trustin Lee
eed6e6cc3a Fixed a bug where DiscardClientHandler.transferredBytes are always zero 2010-01-28 17:12:00 +00:00
Trustin Lee
102b69d14f * Fixed a bug where write requests are allowed to be reentrant
* Fixed a bug where writeLock is not used properly - what a dumb mistake
2010-01-28 16:01:49 +00:00
Trustin Lee
84cf41890c DirectBufferPool should be static because it uses thread local now 2010-01-28 13:16:46 +00:00
Trustin Lee
4bf4d5f814 Overhaul on NIO datagram writes
* Write operation is made in the caller thread opportunistically 
* QOTM example uses NIO datagram transport now
* This modification still requires more performance analysis and testing
2010-01-28 07:50:28 +00:00
Trustin Lee
b74cd60815 Overhaul on NIO socket writes
* Write operation is made in the caller thread opportunistically
* DirectBufferPool became thread safe due to this change
* This modification still requires more performance analysis and testing
2010-01-28 07:34:02 +00:00
Trustin Lee
c59da2dfe6 Tiny optimization 2010-01-28 03:31:57 +00:00
Trustin Lee
73c81acdfa comment 2010-01-28 03:30:40 +00:00
Trustin Lee
832fe29063 Even if no copy was made, writerIndex should be advanced 2010-01-28 03:28:59 +00:00
Trustin Lee
2b786116b5 No need to copy if bufferFactory created a direct buffer 2010-01-28 03:27:28 +00:00
Trustin Lee
c8d5f1ab4a For an unknown reason a different exception is raised in NioWorker.read() 2010-01-28 03:24:09 +00:00
Trustin Lee
e9b8f6b2d7 Allowed access to DirectBufferPool.acquire(int) 2010-01-28 02:54:12 +00:00
Trustin Lee
bddfdba415 Use DirectBufferPool for NIO socket reads 2010-01-28 02:50:31 +00:00
Trustin Lee
aa80596b33 Fixed documentation errors in HttpMessageDecoder's subclasses 2010-01-27 08:13:38 +00:00
Trustin Lee
966004332b Small optimizations on DirectBufferPool 2010-01-27 06:55:10 +00:00
Trustin Lee
c4a230a582 Removed unused method 2010-01-27 05:13:31 +00:00
Trustin Lee
36e804bbec Resolved issue: NETTY-282 Reduce memory copy between heap buffers and direct buffers in NIO transport
* Replaced JDK's internal direct buffer pool with a custom pool optimized for Netty
* Added ChannelBuffer.isDirect()
* Cleaned up NioWorker.writeNow() and NioDatagramWorker.writeNow()
2010-01-27 05:07:32 +00:00
Trustin Lee
030ece5bf9 Removed redundant conditional 2010-01-27 02:43:49 +00:00
Trustin Lee
cb9f90d6d5 parameter description 2010-01-27 02:39:28 +00:00
Trustin Lee
a85635f74c * Added HttpVersion.isKeepAliveDefault() to handle the 'Connection' header in a more robust manner
* Added HttpVersion constructors with the default keep alive flag - old constructors were deprecated due to ambiguity
* Moved HttpMessage.is/setKeepAlive() to HttpHeaders and deprecated the original method
2010-01-27 02:38:17 +00:00
Trustin Lee
aff9af5af2 Fixed a bug where DefaultNioSocketChannelConfig does not recognize 'receiveBufferSizePredictorFactory' option 2010-01-26 15:41:16 +00:00
Trustin Lee
2df22f8f36 Removed an empty line 2010-01-26 09:55:58 +00:00
Trustin Lee
4ac906d417 enum -> static enum 2010-01-26 09:55:22 +00:00
Trustin Lee
edfc15424e Fixed Javadoc error 2010-01-26 09:43:20 +00:00
Trustin Lee
3362114248 * Replaced e-mail addresses into homepage/blog URL anywhere possible
* Added Amit to COPYRIGHT.txt
2010-01-26 09:04:19 +00:00
Trustin Lee
c2465826fd RtspHeaders and its inner classes do not extend HttpHeaders anymore because RTSP user should not see non-RTSP header constants when he or she static-imported RtspHeaders. 2010-01-26 08:25:29 +00:00
Trustin Lee
9de5df705a Added HttpHeaders.Names.CONTENT_BASE 2010-01-26 08:16:58 +00:00
Trustin Lee
573f8207a3 Removed wrong header value - max-fresh does not exist 2010-01-26 08:10:34 +00:00
Trustin Lee
39023c2c7e Fixed JAvadoc 2010-01-26 08:04:57 +00:00
Trustin Lee
0e57f6d004 Made RtspMethods and RtspResponseStatuses final 2010-01-26 07:45:23 +00:00
Trustin Lee
07b6e791b5 RtspVersion does not need to extend HttpVersion at all - it does not add anything to HttpVersion 2010-01-26 07:44:08 +00:00
Trustin Lee
d389be442f RstpResponseStatus does not need to extend HttpResponseStatus at all - it does not add anything to HttpResposneStatus 2010-01-26 07:42:32 +00:00
Trustin Lee
f632925e63 Typo (what a shame) 2010-01-26 07:35:29 +00:00
Trustin Lee
ea4692e967 RtspMethod does not need to extend HttpMethod at all - it does not add anything to HttpMethod 2010-01-26 07:25:44 +00:00
Trustin Lee
1ad9579e6e Javadoc for the RTSP package 2010-01-26 06:31:25 +00:00
Trustin Lee
19cb90d73c Added TODO 2010-01-26 06:30:40 +00:00
Trustin Lee
2ad21ec84d Updated Javadoc of HttpHeaders 2010-01-26 06:30:12 +00:00
Trustin Lee
fddfd4e7cf Cleaned HTTP example using static imports 2010-01-26 05:49:39 +00:00
Trustin Lee
98ccc7a784 Simplified HTTP snoop example 2010-01-26 05:39:00 +00:00
Trustin Lee
140aabef68 Fixed a bug where HttpMessage.removeHeader() leads to a dangling pointer in the internal data structure 2010-01-26 05:33:10 +00:00
Trustin Lee
e50e46425a Improved DefaultHttpMessage.toString() for easier debugging 2010-01-26 05:17:52 +00:00
Trustin Lee
d0e886c344 Resolved issues: NETTY-280 Add convenient getters and setters for HTTP headers
Resolved issues: NETTY-281 Allow non-string values for HTTP header values
2010-01-26 04:31:54 +00:00
Trustin Lee
d87d81e398 Removed TestUtil.timingTestEnabled because it's not used in the CI servers 2010-01-26 03:02:34 +00:00
Trustin Lee
eeb4e8f7b1 Potential fix for failing timing tests 2010-01-26 02:57:41 +00:00
Trustin Lee
7b6fb53fc1 Use yield instead of sleep 2010-01-25 13:09:31 +00:00
Trustin Lee
6849ea2f4b the the -> the 2010-01-25 12:27:51 +00:00
Trustin Lee
125ae30d04 Documentation TODO 2010-01-25 12:22:53 +00:00
Trustin Lee
f0431bb98d Added a reference to SecureChatSslContextFactory for those who wants client cert auth 2010-01-25 11:51:12 +00:00
Trustin Lee
e8f3c3534c Some warning message to confirm that certificate authentication really took place 2010-01-25 11:50:08 +00:00
Trustin Lee
a8eda60857 Explanation on implementing client cert auth 2010-01-25 11:40:47 +00:00
Trustin Lee
d5ad5a47ac Use default parameters wherever possible to initialize SSLContexts 2010-01-25 11:26:55 +00:00
Trustin Lee
2e477b87c2 Added an instruction to generate a certificate when it expires (maybe in 98 years?) 2010-01-25 11:24:35 +00:00
Trustin Lee
a6f3a4f10f RtspHeaders.Names should be non-final just in case someone extends it to add more constants, like we did with HttpHeaders.Names 2010-01-25 04:28:58 +00:00
Trustin Lee
129a54446c Initial RTSP implementation which extended HTTP 2010-01-25 04:26:05 +00:00
Trustin Lee
1c2796983e * Added Values.MIN_FRESH
* Made Names and Values extensible
2010-01-25 04:22:45 +00:00
Trustin Lee
2dde1e9bac HttpResponseStatus.valueOf shoud not be final so that derived protocols can have the factory method with the same name 2010-01-25 04:07:47 +00:00
Trustin Lee
d216e321c8 Relax throws clause restriction 2010-01-25 03:52:20 +00:00
Trustin Lee
5a897af28d Resolved issue: NETTY-278 ChannelBuffer.bytesBefore() as an alternative to indexOf()
* Added various bytesBefore() methods to ChannelBuffer
* Deprecated the methods that could be replaced by bytesBefore()
2010-01-20 05:55:16 +00:00
Trustin Lee
fe73de3497 Fixed a failing test 2010-01-15 07:12:07 +00:00
Trustin Lee
ebc2459bc7 Removed code duplication 2010-01-15 05:39:30 +00:00
Trustin Lee
8a8d1d1da6 Fixed failing test 2010-01-15 05:33:06 +00:00
Trustin Lee
57bdb3a4a5 Related issue: NETTY-257 Add the getters and setters for a String and a char[] to ChannelBuffer
* Reverted the previous addition of get/readString(...)
2010-01-15 05:28:17 +00:00
Trustin Lee
7d40d47270 Explicitly stated that a user can create many bootstraps with the same ChannelFactory 2010-01-15 00:47:29 +00:00
Trustin Lee
238bdc90b8 Fixed failing test 2010-01-14 12:24:59 +00:00
Trustin Lee
3ee7604591 CaseIgnoringComparator.INSTANCE should not be public 2010-01-14 12:21:00 +00:00
Trustin Lee
4ba7ae3749 Merged MapUtil to Bootstrap 2010-01-14 12:19:49 +00:00
Trustin Lee
a36ea0f3a4 Moved SwitchableInputStream and its test class to org.jboss.netty.handler.codec.serialization because it's used only there. 2010-01-14 12:15:04 +00:00
Trustin Lee
4d9b3346c5 Moved ImmediateExecutor and its test class to org.jboss.netty.handler.ssl because it's used only there. Actually there was another unrelated reference, so I simply forked. 2010-01-14 12:04:11 +00:00
Trustin Lee
23943ac256 Moved MapUtil and its test class to org.jboss.netty.bootstrap because it's used only there 2010-01-14 11:58:50 +00:00
Trustin Lee
0dbea6f162 * SecureChatServerHandler should use ChannelGroup where possible
* Moved MapBackedSet and its test class to org.jboss.netty.util becuase it's used only there
2010-01-14 11:56:38 +00:00
Trustin Lee
be2991c586 Moved CombinedIterator to org.jboss.netty.channel.group because it's only used there 2010-01-14 11:52:11 +00:00
Trustin Lee
f8de47e2da Moved CaseIgnoringComparator to org.jboss.nety.handler.codec.http because it is used only by the classes there 2010-01-14 11:49:53 +00:00
Trustin Lee
397107adc0 * Removed unused methods in ThreadLocalRandom
* Hide ThreadLocalRandom because it's used by LinkedTransferQueue only
2010-01-14 11:47:43 +00:00
Trustin Lee
55b0bc2c2c Related issue: NETTY-257 Add the getters and setters for a String and a char[] to ChannelBuffer
* Added getString() and readString()
* Renamed toString(int, int, Charset) to getString(...)
* Removed some toString() methods which were added in the previous alpha releases - I will add an alternative method later
2010-01-14 11:44:11 +00:00
Trustin Lee
8a574a7eb6 Removed the two unnecessary methods - CharBuffer implements CharSequence already 2010-01-14 09:49:02 +00:00
Trustin Lee
e1c2c453c5 Removed unnecessary empty lines in the program listing 2010-01-14 03:38:43 +00:00
Trustin Lee
1313ca5b17 Updated the getting started guide to avoid user confusion on pipeline configuration 2010-01-14 03:31:35 +00:00
Trustin Lee
3b5dd3676e More red tapes in the documentations 2010-01-14 02:59:40 +00:00
Trustin Lee
48f74e7cd6 Updated all examples to use ChannelPipelineFactory instead of the default pipeline 2010-01-14 02:57:42 +00:00
Trustin Lee
f67b06a931 Updated Javadoc about Bootstrap.pipeline / pipelineFactory properties so that users don't make mistake 2010-01-14 01:53:26 +00:00
Trustin Lee
4ab3e248e7 A little bit of documentation 2010-01-09 12:12:50 +00:00
Trustin Lee
f67de23214 Javadoc 2010-01-09 12:00:24 +00:00
Trustin Lee
9525717475 Package description 2010-01-09 11:37:05 +00:00
Trustin Lee
1142a1aa06 Fixed a cosmetic problem in NioDatagramWorker.read() - In some platform, ClosedChannelException is raised on DatagramChannel.receive() depending on timing, and it's safe to ignore. 2010-01-09 08:54:21 +00:00
Trustin Lee
9f12398073 Fixed NotYetConnectedException 2010-01-09 08:44:32 +00:00
Trustin Lee
052a109bc9 Fixed an assertion error where NioSocketChannel.setConnected() is called on a closed channel 2010-01-09 08:38:12 +00:00
Trustin Lee
41af2d111e Added assertion message 2010-01-09 08:34:22 +00:00
Trustin Lee
4ef936bea1 Reverted back previous check-in related with state update, which seems unnecessary 2010-01-09 08:21:28 +00:00
Trustin Lee
0acffadd29 Replaced flag update methods with simple assignment 2010-01-09 07:57:18 +00:00
Trustin Lee
4668cb792e Update the state flag if read or write fails 2010-01-09 07:53:23 +00:00
Trustin Lee
60d3502ba1 Removed the lock aquisition against SocketChannel when isConnected() and isBound() is called, because it causes unnecessary contention 2010-01-09 06:38:14 +00:00
Trustin Lee
c8fc3a1135 * Fixed a bug where a user can break Netty when he or she calls setSuccess() on AbstractChannel.closeFuture
* UnfailingChannelFuture is not used anymore - deleting
2010-01-09 05:40:40 +00:00
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