Commit Graph

1697 Commits

Author SHA1 Message Date
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
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
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
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
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
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
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
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
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
3ee7604591 CaseIgnoringComparator.INSTANCE should not be public 2010-01-14 12:21:00 +00:00