Commit Graph

338 Commits

Author SHA1 Message Date
Trustin Lee
70151828dc Resolved issue: NETTY-68 (Make MemoryAwareThreadPoolExecutor.objectSizeEstimator property mutable) 2008-11-20 08:10:49 +00:00
Trustin Lee
678137b638 Removed a TODO mark which is not going to be fixed (it just works and is not reusable at this moment.) 2008-11-20 06:32:04 +00:00
Trustin Lee
c6ce2c3984 Fixed the issues that FindBugs raised 2008-11-19 09:15:19 +00:00
Trustin Lee
4ac032c657 Merged the HTTP branch into the trunk 2008-11-19 07:22:15 +00:00
Trustin Lee
57b2d9a443 Fixed issue: NETTY-65 (Intermittent high CPU consumption in LinkedTransferQueue)
* Applied the latest upstream fix
2008-11-18 09:43:53 +00:00
Trustin Lee
580f6f2284 * Another workaround for 'missing algorithm' error in SSLEngine
* Made handshaking non-volatile
2008-11-16 20:34:07 +00:00
Trustin Lee
87cd22b5fd More synchronization to avoid 'missing algorithm' error (not sure ..) 2008-11-16 17:59:27 +00:00
Trustin Lee
d0964a4b46 Additional synchronization condition to avoid 'missing algorithm' error 2008-11-16 16:35:09 +00:00
Trustin Lee
5df6229d2a A workaround for 'missing algorithm' error during handshake 2008-11-16 15:44:05 +00:00
Trustin Lee
62ed58a2be Made sure unwrap is called for all NEED_UNWRAP handshake status 2008-11-16 15:14:32 +00:00
Trustin Lee
dce019966e A workaround for 'missing algorithm' error during handshake 2008-11-16 15:06:10 +00:00
Trustin Lee
333f45ccd5 Made sure events are propagated somehow. 2008-11-16 15:02:01 +00:00
Trustin Lee
72ab3f04b0 * Removed output to stderr
* Made sure SSLEngine is cleaned up when a handler in the downstream raises an exception.
2008-11-16 14:43:49 +00:00
Trustin Lee
630473bf84 Fixed issue: NETTY-67 (ChannelBuffer.writeBytes() and setBytes() should not throw ClosedChannelException) 2008-11-16 13:52:47 +00:00
Trustin Lee
b29b5a8289 * Reverted previous SslHandler fix that doesn't work
* More strict handshake status check
2008-11-16 11:47:35 +00:00
Trustin Lee
834277a9eb Potential fix for intermittent SSL test failures 2008-11-16 11:29:36 +00:00
Trustin Lee
7896ec05f6 Fixed issue: NETTY-66 (MapUtil.isOrderedMap() blocks for a long time on a certain platform.)
* Replaced random number generation with a pre-populated sample table
2008-11-15 13:22:06 +00:00
Trustin Lee
c0a3f3383b Removed an unused static final field 2008-11-14 22:06:33 +00:00
Trustin Lee
90045fd487 Reverted my patch and applied Doug Lea's patch 2008-11-14 22:01:23 +00:00
Trustin Lee
3b5c36782d Fixed issue: NETTY-64 (Dead lock during SSL handshake)
* Acquired handshakeLock explicitly when sending handshake messages and executing delegated tasks
2008-11-14 12:05:49 +00:00
Trustin Lee
7123581038 Comment clean up as advised 2008-11-14 08:02:42 +00:00
Trustin Lee
09ef8e8964 Comment clean up as advised 2008-11-14 07:45:53 +00:00
Trustin Lee
8b3956b238 Typo in StringDecoder Javadoc 2008-11-14 06:07:56 +00:00
Trustin Lee
b876bd8cec Added a potential fix for infinite loop in LinkedTransferQueue.clean() 2008-11-13 14:11:59 +00:00
Trustin Lee
59e15efbbe Simplified NioWorker.register() - it was too complex 2008-11-08 12:00:07 +00:00
Trustin Lee
9aed1addb1 Potential fix for NPE in NioWorker.RegisterTask.run() 2008-11-07 17:43:44 +00:00
Trustin Lee
cd3acef9e1 Potention fix for NPE in NioWorker.RegisterTask.run() 2008-11-07 17:38:02 +00:00
Trustin Lee
0976673ac2 Potention fix for NPE in NioWorker.RegisterTask.run() 2008-11-07 17:37:10 +00:00
Trustin Lee
14a49ed042 Made NIO constraint detector much more robust against indefinite blocking by enabling timeout (7 secs) 2008-11-07 13:04:56 +00:00
Trustin Lee
b8af182e8c Fixed issue: NETTY-64 Duplicate Channel IDs are generated. 2008-11-07 08:23:15 +00:00
Trustin Lee
de2ff34dc2 Replaced System.currentTimeMillis() with System.nanoTime() 2008-11-07 03:00:19 +00:00
Trustin Lee
cee920f3b8 Workaround for the bogus FindBugs warning in ReplayingDecoderBuffer 2008-11-07 02:41:29 +00:00
Trustin Lee
f73de01a68 Doesn't need to reject ReplayingDecoderBuffer.equals() 2008-11-07 02:36:57 +00:00
Trustin Lee
34b9b00723 Fixed a potential concurrency issue in DefaultChannelFuture.notifyListeners(), as advised by FindBugs 2008-11-07 02:35:04 +00:00
Trustin Lee
81d29bafc2 Fixed warnings reported by FindBugs 2008-11-07 02:26:21 +00:00
Trustin Lee
9d35088801 & -> && 2008-11-07 02:10:44 +00:00
Trustin Lee
d8cd49c1b7 Fixed a warning reported by FindBugs in CompositeChannelBuffer 2008-11-07 02:08:36 +00:00
Trustin Lee
33187d0285 Fixed issue: NETTY-62 ChannelBuffers.EMPTY_BUFFER is not final 2008-11-07 02:05:09 +00:00
Trustin Lee
3a2a7a3a3c Made sure NioWorker.cleanUpWriteBuffer() is called even if the worker thread is not running. 2008-11-07 02:00:07 +00:00
Trustin Lee
ea1a68cb83 Made sure that NioWorker.wakenUp is set to true only when its selector is really waken up 2008-11-06 17:31:07 +00:00
Trustin Lee
22f33539c1 Fixed a problem where NPE is thrown when NioWorker.write() is called too early 2008-11-06 15:01:08 +00:00
Trustin Lee
85e63a2c98 Potential fix for NPE during SocketChannel.register(..) 2008-11-06 12:56:45 +00:00
Trustin Lee
59abaa1657 Tiny code cleanup 2008-11-06 11:41:01 +00:00
Trustin Lee
00ec5be6dd Fixed a bug where NioWorker.register() hangs up with high CPU consumption when it failed to open a selector. 2008-11-06 11:39:17 +00:00
Trustin Lee
7f1ff668f7 Fixed a bug where NioWorker.register() hangs up with high CPU consumption when it failed to open a selector. 2008-11-06 11:19:48 +00:00
Trustin Lee
486218ab28 Potential fix for NPE during SocketChannel.register(..) 2008-11-06 10:55:56 +00:00
Trustin Lee
b15fe51e95 RegisterTask should be a static class. 2008-11-06 08:49:00 +00:00
Trustin Lee
87b4f886a6 Code cleanup 2008-10-06 13:25:27 +00:00
Trustin Lee
dddf14f79a Fixed a bug: NETTY-56 (The ChannFuture returned by SslHandler.handshake() is not completed when the associated Channel is closed during handshake.) 2008-10-03 02:53:57 +00:00
Trustin Lee
8f9769f8e9 Removed unnecessary links 2008-10-02 05:02:46 +00:00
Trustin Lee
5120c1172c Simplfied the factorial example using the new SimpleChannelHandler 2008-10-02 04:44:06 +00:00
Trustin Lee
ca1f11ff67 Forgot to add the 'throws' clause 2008-10-02 04:43:02 +00:00
Trustin Lee
da04e2cae9 Fixed issue: NETTY-54 (Improve SimpleChannelHandler to implement ChannelDownstreamHandler)
Fixed issue: NETTY-55 (Channel.unbind() method is missing.)
2008-10-02 04:40:46 +00:00
Trustin Lee
6c2230aac2 Swallow AsynchronousCloseException 2008-10-01 13:14:28 +00:00
Trustin Lee
4376cd5a91 Fixed a bug: NETTY-53 (ClassNotFoundException when an ObjectDecoder with no ClassLoader specified tries to decode an object.)
* Explicitly acquired the current thread's context class loader if a user specified no or null class loader.
2008-10-01 11:06:18 +00:00
Trustin Lee
8d5d8fd172 Fixed another race condition which occurs when OP_WRITE and OP_READ flags are set/cleared at the same time 2008-10-01 08:42:26 +00:00
Trustin Lee
cfa6794292 Potential fix for NETTY-52 (IllegalArgumentException when trying to change the current interestOps) 2008-10-01 05:25:01 +00:00
Trustin Lee
dae3b05ebb Replaced FastQueue with LinkedTransferQueue 2008-10-01 04:49:10 +00:00
Trustin Lee
6d372c367b Added LinkedTransferQueue 2008-10-01 03:18:36 +00:00
Trustin Lee
2f4e20ce7a Made more generic 2008-09-30 14:23:38 +00:00
Trustin Lee
44c409ca24 More accurate default receive buffer size predictor implementation 2008-09-30 13:02:41 +00:00
Trustin Lee
0831b32090 Decreased the default maximum receive buffer size to 64KiB - it's enough for more cases. 2008-09-30 06:29:16 +00:00
Trustin Lee
950a386d3f Code cleanup 2008-09-30 01:53:24 +00:00
Trustin Lee
7de92967c2 Made MemoryAwareThreadPoolExecutor.shouldCount() extensible 2008-09-30 01:52:02 +00:00
Trustin Lee
85dc8f93f5 Fixed a bug where per-channel memory limitation didn't work correctly 2008-09-30 01:49:22 +00:00
Trustin Lee
8c15102bc3 Fixed issue NETTY-51 (MemoryAwareThreadPoolExecutor and its subtypes should use long instead of int to store the counters) 2008-09-30 00:42:04 +00:00
Trustin Lee
6f18c940dd Fixed issue NETTY-50 (Dead lock in MemoryAwareThreadPoolExecutor)
* Made sure that the max memory size properties become immutable
2008-09-30 00:31:32 +00:00
Trustin Lee
50f043fa3e Fixed issue NETTY-50 (Dead lock in MemoryAwareThreadPoolExecutor)
* Fixed incorrect release condition
2008-09-30 00:16:42 +00:00
Trustin Lee
d7c53437e9 Fixed errors in JavaDoc about OIO-based transport shutdown 2008-09-29 06:51:41 +00:00
Trustin Lee
8fb2f7c789 It's actually enough with a simple shutdown lock because we have only one acceptor thread. 2008-09-28 15:07:47 +00:00
Trustin Lee
dccc9f8665 * Improved the throughput of the server-side accept operation
* Added FastQueue.isEmpty()
2008-09-28 15:01:21 +00:00
Trustin Lee
4d17db6eb1 Using LinkedList seems to yield same or better performance 2008-09-28 14:21:38 +00:00
Trustin Lee
40b1f26c34 Made sure all segments are evaluated on poll for potentially better throughput (still proof-of-concept - getting better) 2008-09-28 14:12:28 +00:00
Trustin Lee
597cbd870c Isolated unchecked cast warning from FastQueue.poll() 2008-09-28 13:57:17 +00:00
Trustin Lee
6611563c8c Fixed a race condition in FastQueue 2008-09-28 13:52:49 +00:00
Trustin Lee
5170838e79 Added direct buffer support (disabled by default and can't be enabled without recompilation for now - should be fixed in 3.1.) 2008-09-28 12:51:50 +00:00
Trustin Lee
b64124efd6 * Renamed WriteMessageQueue to FastQueue, made it generic and optimized it
* Added ConcurrentFastQueue (proof of concept yet - slow)
2008-09-27 14:22:52 +00:00
Trustin Lee
a0d132a4d8 Moved WriteMessageQueue to the util package 2008-09-27 11:53:00 +00:00
Trustin Lee
f2c1734636 Reduced contention between I/O thread and writer 2008-09-26 12:28:09 +00:00
Trustin Lee
90ea9aa047 Formatting 2008-09-26 09:05:41 +00:00
Trustin Lee
362ecf640b Fixed a bug where DiscardClient didn't work since the last optimization 2008-09-26 09:04:02 +00:00
Trustin Lee
39086edae6 Introduced an intermediary write buffer to reduce the contention 2008-09-26 08:31:33 +00:00
Trustin Lee
0241120ace Optimization.. (reduced volatiles) 2008-09-26 07:00:30 +00:00
Trustin Lee
22d79a501d Replaced ConcurrentLinkedQueue with LinkedBlockingQueue in NioSocketChannel 2008-09-26 04:31:41 +00:00
Trustin Lee
9f5468f7a7 Made sure NioWorker.taskQueue doesn't contain the same WriteTask 2008-09-26 03:32:26 +00:00
Trustin Lee
5f1ecc9022 Fixed throughput issue when messages are written from different threads than I/O worker threads 2008-09-26 03:02:31 +00:00
Trustin Lee
ebdcb21421 Made sure StackTraceSimplifier is always loaded 2008-09-26 02:57:10 +00:00
Trustin Lee
824e0034c4 A little bit of optimization 2008-09-26 00:43:14 +00:00
Trustin Lee
33c1932353 Dunno why but SocketChannel.accept() sometimes returns null. 2008-09-25 11:05:45 +00:00
Trustin Lee
9c0b5d1949 Better table L&F 2008-09-24 12:01:50 +00:00
Trustin Lee
87390319c8 Added the list of available options 2008-09-24 11:28:46 +00:00
Trustin Lee
274fa4aac5 A little bit of duplication to help understanding of asynchronous operation 2008-09-24 10:49:39 +00:00
Trustin Lee
d0d99ff6bc More detailed explanation on ChannelFuture 2008-09-24 10:46:58 +00:00
Trustin Lee
320b7133a2 More clarification on ChannelHandlerContext 2008-09-24 10:37:19 +00:00
Trustin Lee
92be78df49 Rephrased the description of ChannelHandlerContext 2008-09-24 10:08:30 +00:00
Trustin Lee
0b8687cdeb More explanation on the characteristics of bootstraps 2008-09-24 09:55:19 +00:00
Trustin Lee
6a759f0c63 Fixed grammar, typo, and brevity in Javadoc comments 2008-09-24 09:48:32 +00:00
Trustin Lee
d52b238d62 * Fixed issue: NETTY-46 Excessive exception creation overhead when there are many pending write requests in a closed channel
* Added NioWorker.cleanUpWriteBuffer()
* Fixed issue: NETTY-47 Channel is not closed immediately when write operation fails due to closure.
  * Made sure to call NioWorker.close() in NioWorker.write(Un)Fair() and to call NioWorker.cleanUpWriteBuffer() in NioWorker.close();
2008-09-18 03:15:48 +00:00
Trustin Lee
9d4e51c7e0 shutdown() should be OK too 2008-09-10 12:11:40 +00:00
Trustin Lee
e34d494496 Fixed a bug where AbstractChannelBuffer.writeBytes() decreases the writerIndex when the specified channel is closed. 2008-09-06 09:11:18 +00:00