Commit Graph

407 Commits

Author SHA1 Message Date
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
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
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
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
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
Trustin Lee
33a4a9f8e1 It's more correct to remove the connector handler in ClientBootstrap 2008-09-06 09:04:11 +00:00
Trustin Lee
985d260c8b Cosmetic changes related with apiviz 2008-09-05 11:54:13 +00:00
Trustin Lee
08f006c764 Cosmetic changes related with apiviz 2008-09-05 11:38:00 +00:00
Trustin Lee
b8c1472003 Cosmetic changes related with apiviz 2008-09-05 10:58:37 +00:00
Trustin Lee
27cc323dce Made sure flushPendingEncryptedWrites are called only when necessary 2008-09-05 01:58:35 +00:00
Trustin Lee
ab4d7f7660 Fixed an instruction about graceful shutdown - should use shutdownNow instead of shutdown for faster shutdown (and it's safe yet) 2008-09-05 00:59:07 +00:00
Trustin Lee
e1709c8e4b * Added another test case that checks shutdown time
* Optimized the hex dump table generation in ChannelBuffers
2008-09-05 00:57:22 +00:00
Trustin Lee
a056b9af63 * Fixed randomly failing ChannelBuffers.compareTo test
* Used shutdownNow instead of shutdown to shorten the test running time
* Added a test case that checks shutdown time
2008-09-05 00:01:33 +00:00
Trustin Lee
79499476c1 * Added ReadOnlyChannelBufferTest
* Added ReadOnlyChannelBuffer.toByteBuffers
2008-09-04 12:37:37 +00:00
Trustin Lee
d9a37093e2 More test cases and trivial fixes 2008-09-04 11:53:44 +00:00
Trustin Lee
f2267eb39c Removed unnecessary warning logs related with ClientBootstrap 2008-09-04 11:19:49 +00:00
Trustin Lee
8b9f63e578 Fixed issue: NETTY-43 (channelBound event can be fired more than once for NIO client socket)
* Fixed NioWorker.register() to check NioClientSocketChannel.boundManually flag
2008-09-04 11:14:43 +00:00
Trustin Lee
384e08209e Mismatching arrow length 2008-09-04 07:26:07 +00:00
Trustin Lee
a0b75a705e Added JavaDoc to the handler.execution package 2008-09-04 07:24:42 +00:00
Trustin Lee
35678cdf73 Added JavaDoc for handler.codec.replay 2008-09-04 06:35:06 +00:00
Trustin Lee
f744de9d85 * Added JavaDoc for the handler.codec.serialization package
* Improved JavaDoc for handler.codec.string and handler.ssl
2008-09-04 05:48:41 +00:00
Trustin Lee
f0c2c95c32 Added JavaDoc to handler.ssl package 2008-09-04 04:55:32 +00:00
Trustin Lee
5a1f62f419 Updated the package description for handler.codec.string 2008-09-04 03:19:42 +00:00
Trustin Lee
49e62cd000 Added JavaDoc for handler.codec.string 2008-09-04 03:14:19 +00:00
Trustin Lee
26a1d6e429 Added JavaDoc for handler.codec.frame package. 2008-09-04 03:00:48 +00:00
Trustin Lee
a79f3ff159 Extracted some important comments in the example code to a new section 2008-09-03 13:04:02 +00:00
Trustin Lee
f86a7d224b Added JavaDoc for FrameDecoder 2008-09-03 12:56:30 +00:00
Trustin Lee
5cde160df6 link -> linkplain 2008-09-03 10:57:17 +00:00
Trustin Lee
97b252afe3 Added a link to ChannelEvent in Channel JavaDoc 2008-09-03 08:30:17 +00:00
Trustin Lee
036abda601 Calculated -> Obtained 2008-09-03 07:51:25 +00:00
Trustin Lee
d96b633b5f * Added missing constructor JavaDoc
* Fixed description of workerCount parameter
2008-09-03 07:49:59 +00:00
Trustin Lee
101124f8b8 Explicitly mentioned that the nio worker threads run in a non-blocking mode 2008-09-03 07:46:33 +00:00
Trustin Lee
1ed7741a96 Added the limitation section to oio factories 2008-09-03 07:44:39 +00:00
Trustin Lee
7e491614cb Added JavaDoc for channel.socket.nio and oio 2008-09-03 07:41:27 +00:00
Trustin Lee
9e3973415e > -> >= 2008-09-03 05:20:49 +00:00
Trustin Lee
fd261b1044 Added proper author / version tags 2008-09-03 05:19:55 +00:00