Commit Graph

1814 Commits

Author SHA1 Message Date
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