Commit Graph

515 Commits

Author SHA1 Message Date
Trustin Lee
1b2dfc1dd5 Fixed typo and ambiguous expression 2008-11-28 14:41:11 +00:00
Trustin Lee
27cd263b6a Improved Javadoc for ReplayingDecoder as requested 2008-11-28 14:33:19 +00:00
Trustin Lee
440fdc4e7f Graceful shutdown for EchoClient 2008-11-28 11:22:02 +00:00
Trustin Lee
0830444fc8 Resolved issue: NETTY-84 Replace ChannelFactory.getExternalResource() with ChannelFactory.releaseExternalResources() 2008-11-28 11:18:21 +00:00
Trustin Lee
3e09a4ee60 allowed low water mark to be same with high water mark 2008-11-28 06:57:29 +00:00
Trustin Lee
4e7852e29e Fixed stack overflow error 2008-11-28 06:45:16 +00:00
Trustin Lee
38943f3d23 Code cleanup 2008-11-28 05:38:34 +00:00
Trustin Lee
70b87f84df Elegant shutdown for DiscardClient 2008-11-28 05:36:12 +00:00
Trustin Lee
e0e282770f Code cleanup 2008-11-28 05:28:50 +00:00
Trustin Lee
893cab5ce8 Initial implementation of high/low water mark based write overflow prevention mechanism 2008-11-28 03:19:31 +00:00
Trustin Lee
18ac6f925f Fixed test failure 2008-11-27 16:22:20 +00:00
Trustin Lee
044fd23b0b Fixed a bug where channelUnbound/channelDisconnected/channelClosed event is sometimes not fired 2008-11-27 15:44:14 +00:00
Trustin Lee
e7d5048440 Fixed svn properties 2008-11-27 02:59:05 +00:00
Trustin Lee
00fbf2a2f3 Resource should be released in HttpClient example 2008-11-27 01:11:53 +00:00
Trustin Lee
7a87543020 3.0 -> 3.1 2008-11-26 10:47:25 +00:00
Trustin Lee
78f86b2d3a Added documentation to-dos 2008-11-26 10:31:32 +00:00
Trustin Lee
6df482b074 Added documentation to-dos 2008-11-26 10:30:21 +00:00
Trustin Lee
0b9b2aca0b Excluded ChannelFactoryExecutorResource from the diagram 2008-11-26 10:26:50 +00:00
Trustin Lee
96c98f636a Simplified some test code using ChannelFactoryResource.release() 2008-11-26 10:22:55 +00:00
Trustin Lee
5a4e0e4d47 Resolved NETTY-82 (Provide a convenient way to shut down a service)
* Added ChannelFactoryResource
* Added ChannelFactory.getExternalResource()
* Updated all client examples to use getExternalResource().release()
2008-11-26 10:18:29 +00:00
Trustin Lee
0886c11645 More Javadoc on the return value of ChannelFuture.setSuccess and setFailure 2008-11-26 09:23:37 +00:00
Trustin Lee
6e40f62574 * Added Channel.getCloseFuture()
* Changed ChannelFuture.setSuccess() and setFailure() to return a boolean value
2008-11-26 09:21:00 +00:00
Trustin Lee
6947ba0863 Added package-info.java for the http package 2008-11-26 09:01:18 +00:00
Trustin Lee
09e8a73bf2 Removed unimplemented method (I think whether to keep-alive or not should be determined in the higher level) 2008-11-26 08:53:19 +00:00
Trustin Lee
796238d929 * Renamed HttpVersion.getProtocol() to decode()
* A little bit of code clean up
2008-11-26 08:49:33 +00:00
Trustin Lee
1ff2b7bbc9 FIXMEs in HTTP QueryStringEncoder/Decoder 2008-11-26 08:44:39 +00:00
Trustin Lee
2b0ee3862f Renamed HttpWebserverClient to HttpClient 2008-11-26 08:40:04 +00:00
Trustin Lee
be88a53b3b Replaced HttpClient example with more generic wget style one 2008-11-26 08:39:32 +00:00
Trustin Lee
5c494dd045 More precise shutdown time test 2008-11-25 02:57:04 +00:00
Trustin Lee
c979563dcd Trying to figure out who is failing NioServerSocketShutdownTimeTest .. 2008-11-20 11:50:01 +00:00
Trustin Lee
8ac3b2905d StringBuffer -> StringBuilder 2008-11-20 08:15:20 +00:00
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
0e3679e919 Fixed a problem where AbstractSocketSslEchoTest doesn't close all channels when a connection attempt fails. 2008-11-16 16:25:08 +00:00
Trustin Lee
feac0d6a3d Fixed a problem where AbstractSocketSslEchoTest doesn't close all channels when handshake fails. 2008-11-16 16:22:27 +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
9aec8119cb Used logger instead of syserr 2008-11-16 13:34:24 +00:00
Trustin Lee
4cd9105eeb Made sure all exceptions are printed (2nd try) 2008-11-16 13:30:42 +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
ea94ea850b Fixed a problem where not all exceptions are logged immediately in AbstractSocketSslEchoTest 2008-11-16 11:43:44 +00:00
Trustin Lee
834277a9eb Potential fix for intermittent SSL test failures 2008-11-16 11:29:36 +00:00
Trustin Lee
c848b8cc58 Fixed incorrect timing test due to slow MD5 algorithm initialization 2008-11-16 11:22:40 +00:00
Trustin Lee
b3f39c1bb3 Additional debug information in AbstractSocketSslEchoTest 2008-11-16 10:33:00 +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
927aaf8d12 Documentation cleanup 2008-11-14 06:55:02 +00:00
Trustin Lee
3d83768039 Documentation cleanup 2008-11-14 06:32:10 +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
58e727f238 Typo 2008-11-10 02:17:14 +00:00
Trustin Lee
59e15efbbe Simplified NioWorker.register() - it was too complex 2008-11-08 12:00:07 +00:00
Trustin Lee
c5a211e07a Used ExpectedError instead of Exception to tell that the failure is expected obviously 2008-11-08 11:59:23 +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
288c693f62 Code cleanup 2008-11-07 08:27:28 +00:00
Trustin Lee
fcc0087eb2 Reverted temporary code which was mistakenly checked in 2008-11-07 08:25:52 +00:00
Trustin Lee
87dd4adbc7 Adjusted regression test duration 2008-11-07 08:24:58 +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
7fe42c4c4f Increased test timeout to avoid Hudson false alarm 2008-11-07 02:43:27 +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
b50cc2b025 Removed an unused import 2008-11-07 01:50:51 +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
79fe2324c9 Fixed RejectedExecutionException in the OIO-OIO SSL echo test 2008-11-06 16:21:35 +00:00
Trustin Lee
7db3eacbb4 Potential fix for OIO-OIO SSL echo test 2008-11-06 15:56:05 +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
b378c083ec A little bit of rephrasing 2008-10-02 05:06:10 +00:00
Trustin Lee
8f9769f8e9 Removed unnecessary links 2008-10-02 05:02:46 +00:00
Trustin Lee
b6d9755ba5 Updated the getting started guide which is simpler thanks to the recent changes in SimpleChannelHandler 2008-10-02 04:58:04 +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
e1f4053d41 At last but not least 2008-09-25 16:31:03 +00:00
Trustin Lee
33c1932353 Dunno why but SocketChannel.accept() sometimes returns null. 2008-09-25 11:05:45 +00:00
Trustin Lee
bc60f01b58 section -> chapter 2008-09-24 12:38:52 +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
60eec52dab Typo 2008-09-24 09:56:10 +00:00
Trustin Lee
0b8687cdeb More explanation on the characteristics of bootstraps 2008-09-24 09:55:19 +00:00