Commit Graph

820 Commits

Author SHA1 Message Date
Trustin Lee
065218fd10 Forgot to mark one more volatile member transient 2009-02-13 11:53:05 +00:00
Trustin Lee
06d5f5264e LocalChannelREgistry should use ConcurrentHashMap 2009-02-13 11:51:53 +00:00
Trustin Lee
5f2f072d69 Fixed a couple bugs in IdleStateHandler, caused by blind copy and paste 2009-02-13 11:33:22 +00:00
Trustin Lee
c153fd5bd0 Fixed an infinite recursion in Base64 2009-02-13 10:37:10 +00:00
Trustin Lee
db18337762 * Fixed most Find Bugs warnings
* Added UnreplayableOperationException
2009-02-13 10:21:28 +00:00
Trustin Lee
fb64aa94b5 Fixed a bug found by Find Bugs 2009-02-13 09:14:41 +00:00
Trustin Lee
ae004b5331 Fixed some problems reported by Find Bugs (mostly to shut it up) 2009-02-13 09:11:42 +00:00
Trustin Lee
7e8a1cd9c2 Code cleanup 2009-02-13 08:55:06 +00:00
Trustin Lee
d9c0befe24 Fixed equality comparison methods of DefaultChannelGroup 2009-02-13 08:17:35 +00:00
Trustin Lee
b22a578538 Prettier DefaultChannelGroup.toString() 2009-02-13 07:52:38 +00:00
Trustin Lee
1896c90207 * Removed ChannelGroupFactory that causes memory leak
* Added the default constructor for DefaultChannelGroup
2009-02-13 07:51:46 +00:00
Trustin Lee
e8665ea867 Added a convenience constructor to LocalAddress 2009-02-13 06:53:22 +00:00
Trustin Lee
395fcbbd29 Simplified LocalAddress implementation - no more global reference map that causes memory leak 2009-02-13 06:52:04 +00:00
Trustin Lee
1b28c126c5 Fixed a problem where DefaultNioSocketChannelConfig allowed incorrect configuration of write buffer watermark values 2009-02-13 06:36:30 +00:00
Trustin Lee
65048c930f Made DirectChannelBufferFactory's preallocatedBufferCapacity configurable 2009-02-13 06:25:29 +00:00
Trustin Lee
91d7a329d4 * Renamed Concurrent*Weak*HashMap to Concurrent*WeakKey*HashMap to avoid confusion
* Added some FIXMEs related with potential memory leak
2009-02-13 06:19:10 +00:00
Trustin Lee
8aff5914d9 Added IdleState-aware ChannelHandler implementations 2009-02-13 06:05:21 +00:00
Trustin Lee
7b721ef1d4 Prettier LocalAddress.toString() 2009-02-13 04:51:36 +00:00
Trustin Lee
fa8890580e Indentation 2009-02-13 04:41:01 +00:00
Trustin Lee
bf6a7db90a Added more convenience constructors to HashedWheelTimer 2009-02-13 04:29:56 +00:00
Trustin Lee
789bfd3221 Changed the type of second unit timeout from long to int 2009-02-13 04:24:29 +00:00
Trustin Lee
11478edb5b Fixed NPE 2009-02-13 04:17:36 +00:00
Trustin Lee
b49f8d8353 * Renamed the callback methods for Read/WriteTimeoutHandler
* More convenient exception handling
2009-02-12 15:41:58 +00:00
Trustin Lee
b06e33f5ee Changed the default time unit to SECONDS 2009-02-12 15:33:28 +00:00
Trustin Lee
7f16fa352a Removed unnecessary variable in IdleStateHandler 2009-02-12 15:31:39 +00:00
Trustin Lee
2c8f669030 Added IdleState.ALL_IDLE - was able to simplify even more 2009-02-12 15:29:35 +00:00
Trustin Lee
cbd2dec0fd * Reverted back recent changes
* Renamed IdlenessHandler to IdleStateHandler
* Renamed IdlenessEvent to IdleStateEvent
* Added IdleState enum
2009-02-12 15:21:25 +00:00
Trustin Lee
2c3e7565fa Implemented both idleness event roughly (needs some fix) 2009-02-12 11:03:10 +00:00
Trustin Lee
ed69d8bc15 Added another missing class 2009-02-12 10:51:38 +00:00
Trustin Lee
eab8623f4a Added the missing class 2009-02-12 10:51:06 +00:00
Trustin Lee
0e5f798889 * Removed the getter methods in IdlenedssEvent and replaced them with subtypes
** Added ReaderIdlenessEvent and WriterIdlenessEvent
* Added protected methods which enables a user to override what to do on idleness / timeout
2009-02-12 10:50:43 +00:00
Trustin Lee
59b67420bf Prettier output 2009-02-12 07:44:51 +00:00
Trustin Lee
2ebce4c987 Better keep-alive behavior 2009-02-12 07:39:20 +00:00
Trustin Lee
431151b8e5 Fixed issue: NETTY-107 - HttpMessageDecoder can not handle the content with no 'Content-Length' header. 2009-02-12 07:32:53 +00:00
Trustin Lee
2d682dc2a3 Fixed NETTY-107 HttpMessageDecoder can not handle the content with no 'Content-Length' header.
* Added HttpMessage.getContentLength(int defaultValue)
* Renamed state enum values
2009-02-12 07:17:29 +00:00
Trustin Lee
5faa7e9ea8 Removed unnecessary boxing / unboxing 2009-02-12 07:09:51 +00:00
Trustin Lee
e787378024 US-ASCII -> ASCII 2009-02-12 07:03:35 +00:00
Trustin Lee
912c66b931 Forgot to encode the last chunk correctly 2009-02-12 07:01:26 +00:00
Trustin Lee
cf1b915340 Improved the HttpServer example to demonstrate chunked encoding support 2009-02-12 06:44:52 +00:00
Trustin Lee
2a555082bb Implemented chunked encoding support for the HTTP encoder 2009-02-12 06:37:22 +00:00
Trustin Lee
602c99c532 Fixed a problem where the last chunk is decoded too early 2009-02-12 06:27:17 +00:00
Trustin Lee
ebe77cef21 Fixed a 'shouldn't reach here' error 2009-02-12 06:26:05 +00:00
Trustin Lee
5ee6da3892 Fixed a bug where HttpRequest message is decoded twice 2009-02-12 06:25:13 +00:00
Trustin Lee
2ac8d11a34 Fixed a problem where DefaultHttpChunk.isLast returns a wrong value 2009-02-12 06:22:06 +00:00
Trustin Lee
44d56d2c1a Added HttpChunk message for users who want to receive the content chunk by chunk 2009-02-12 06:09:29 +00:00
Trustin Lee
b6c992de8b More optimistic initial line buffer size 2009-02-12 05:49:19 +00:00
Trustin Lee
a4fe52559b More robust CR/LF handling in chunked encoding 2009-02-12 05:48:25 +00:00
Trustin Lee
9125ff5616 Fixed more issues related with chunked encoding 2009-02-12 05:41:22 +00:00
Trustin Lee
fb74832dc8 * Removed the usage of unnecessary state variable
* Renamed READ_CRLF to READ_END_OF_CHUNK
2009-02-12 05:28:55 +00:00
Trustin Lee
66423e0c1d More robust chunk size parser 2009-02-12 05:23:39 +00:00
Trustin Lee
44498e067f * Improved the detection of chunked encoding
* Fixed broken chunk length parser
2009-02-12 05:16:38 +00:00
Trustin Lee
01b0beab50 Typo 2009-02-12 05:14:16 +00:00
Trustin Lee
1243baa05b More robust HTTP message decoding 2009-02-12 05:10:25 +00:00
Trustin Lee
9cdc4a959e Better white space handling in HTTP 2009-02-12 05:02:22 +00:00
Trustin Lee
0198da7b6c Related issue: NETTY-116 HTTP issues including chunked request / response patch
* Applied Dave's patch for QueryStringDecoder
2009-02-12 04:39:17 +00:00
Trustin Lee
32738273e0 Related issue: NETTY-116 HTTP issues including chunked request / response patch
* Applied Dave's patch for HttpMessageDecoder
2009-02-12 04:37:48 +00:00
Trustin Lee
334ea6f6e6 Now that there are two MessageEvent implementation, there's no point of having Channels.messageEvent() - a user could just create a new instance by calling the respective implementation's constructor 2009-02-11 09:56:28 +00:00
Trustin Lee
2b5a00e8b8 Removed unused code block 2009-02-11 09:53:14 +00:00
Trustin Lee
73cb446310 Removed the usage of Channels.messageEvent() which is obsolete 2009-02-11 09:52:36 +00:00
Trustin Lee
2030411759 Reverted r825 which doesn't make much sense 2009-02-11 09:47:53 +00:00
Trustin Lee
84aa72a70f Made sure all timeout and idle time can be disabled with the non-positive constructor parameters 2009-02-11 09:38:24 +00:00
Trustin Lee
665db38994 Removed unused field 2009-02-11 09:32:41 +00:00
Trustin Lee
a09303785e Removed unnecessary exception triggering 2009-02-11 09:32:17 +00:00
Trustin Lee
3acbe08eac Code clean up 2009-02-11 09:24:28 +00:00
Trustin Lee
3f009da453 Resolved issue: NETTY-124 Clean the constants in HttpHeaders
* Reorganized HttpHeaders and added a bunch of constants
2009-02-11 08:48:39 +00:00
Trustin Lee
f44d9eced8 Added a TODO item 2009-02-11 06:14:07 +00:00
Trustin Lee
859f9a37a2 ChannelEvent implementations don't need to be public - package private is just enough because all events can be fired and created using Channels. 2009-02-11 06:03:00 +00:00
Trustin Lee
587c0ac27f Added IdlenessHandler, IdlenessEvent, and DefaultIdlenessEvent 2009-02-11 05:59:35 +00:00
Trustin Lee
51b33c3678 Reverting back the latest change in ChannelState - not a good idea 2009-02-11 05:49:39 +00:00
Trustin Lee
2ee72abaaf Added ChannelState.EXTENDED to support custom channel state like channel idleness 2009-02-11 05:45:53 +00:00
Trustin Lee
6e4f6b164c * Renamed ChannelTimeoutException to TimeoutException
* Renamed ChannelReadTimeoutException to ReadTimeoutException
* Renamed ChannelWriteTimeoutException to WriteTimeoutException
2009-02-11 05:41:44 +00:00
Trustin Lee
d966ae57fc Typo in comments 2009-02-11 05:36:37 +00:00
Trustin Lee
10a07b054e Made inner classes final 2009-02-11 05:27:36 +00:00
Trustin Lee
8431db0407 Added a convenience constructor 2009-02-11 05:23:40 +00:00
Trustin Lee
bd0c55caed Added a convenience constructor 2009-02-11 05:23:05 +00:00
Trustin Lee
25bef2d0d2 Changed the time unit of WriteTimeoutHandler to milliseconds 2009-02-11 05:22:24 +00:00
Trustin Lee
cb46aec1eb * Proper synchronization and state management for HashedWheelTimer
* Removed an unnecessary synchronization on a timer instance
2009-02-11 05:05:20 +00:00
Trustin Lee
4ea1d640c2 Fixed a bug where ChannelReadTimeoutException and ChannelWriteTimeoutException can be raised after a channel is closed. 2009-02-11 04:59:45 +00:00
Trustin Lee
bb898265b9 Fixed incorrent time unit conversion 2009-02-09 11:29:17 +00:00
Trustin Lee
6d917ca7eb Fixed errors in comments 2009-02-09 11:04:28 +00:00
Trustin Lee
bdc37294d9 System.nanoTime() doesn't seem to work very well with HashedWheelTimer and multi-core system 2009-02-09 10:58:30 +00:00
Trustin Lee
2b222b4994 Made sure MessageEvents are fired after both channels are fully connected 2009-02-09 09:28:12 +00:00
Trustin Lee
03de679b17 Removed unnecessary 'if' condition 2009-02-09 09:13:45 +00:00
Trustin Lee
e757135583 Fixed a problem where a channel is closed when a user tries to write a message when a connection attempt is in progress 2009-02-09 09:11:09 +00:00
Trustin Lee
f7cc2c971d Fixed NPE in LocalChannel.closeNow() 2009-02-09 09:06:39 +00:00
Trustin Lee
ab306bb750 Updated Javadoc tags 2009-02-09 08:34:59 +00:00
Trustin Lee
78cdc91acd * Added missing svn properties
* Updated @author tags
2009-02-09 08:32:13 +00:00
Trustin Lee
ddf8cad09c * Added LocalAcceptedChannel and LocalClientChannel to distinguish two channel types easily
* Less visibility
2009-02-09 08:19:30 +00:00
Trustin Lee
198fbe3e7e DefaultWriteCompletionEvent.toString() should not specify the unit of the amount explicitly 2009-02-09 08:15:19 +00:00
Trustin Lee
7e1dae813f Fixed a problem where the local transport does not fire a writeComplete event 2009-02-09 08:11:12 +00:00
Trustin Lee
78963bef7d Typo 2009-02-09 08:10:37 +00:00
Trustin Lee
a698db26c9 Reduced the number of isConnected() calls in AbstractChannel.toString() 2009-02-09 08:01:10 +00:00
Trustin Lee
d50322f27f Fixed a problem where AbstractChannel.toString() returns dirty cache value 2009-02-09 08:00:26 +00:00
Trustin Lee
3569e869a9 Fixed a bug where LocalChannel.isConnected() returns a wrong value 2009-02-09 07:52:13 +00:00
Trustin Lee
ce7ca53bdf Fixed a problem where LocalChannel.getParent() always returns null 2009-02-09 07:46:45 +00:00
Trustin Lee
a0e57b4428 Access control 2009-02-09 07:43:34 +00:00
Trustin Lee
9410fd155e * Improved the local transport to behave more closely to real transports
* Changed how ChannelFactory is instantiated
2009-02-09 07:34:49 +00:00
Trustin Lee
5af89d1985 Removed unused line 2009-02-09 05:28:15 +00:00
Trustin Lee
233e85f63c Made LocalChannelConfig invisible to users 2009-02-09 05:26:26 +00:00
Trustin Lee
35730de7cb Made LocalChannelConfig invisible to users 2009-02-09 05:26:10 +00:00
Trustin Lee
202b53c132 * nextEphemeralPort is an integer now (still 4G ports)
* Used hexadecimal representation
* Made sure newEphemeralInstance() doesn't fall into an infinite loop (extreme case)
2009-02-09 05:23:35 +00:00
Trustin Lee
0fc8977bf2 Fixed ephemeral port duplication which might be caused by deserialization 2009-02-09 05:07:53 +00:00
Trustin Lee
73e8954239 Proper Java serialization support for LocalAddress 2009-02-09 05:04:49 +00:00
Trustin Lee
a4c491498b Made LocalAddress final 2009-02-09 05:02:40 +00:00
Trustin Lee
632fb01bee * Made sure there's only one LocalAddress instance with same id
* Added ephemeral port to LocalAddress
2009-02-09 05:01:15 +00:00
Trustin Lee
5e37b18f23 Fixed Javadoc 2009-02-09 04:51:11 +00:00
Trustin Lee
16583e3986 * Added ConcurrentWeakHashMap
* Updated serialVersionUID
2009-02-09 04:50:42 +00:00
Trustin Lee
8622b885b6 Code cleanup 2009-02-09 01:39:42 +00:00
Trustin Lee
e7aeffe14d * Merged Andy's Local transport
* Merged Andy's HTTP tunnel
* Both needs some tidying up, but seems to work OK
2009-02-09 01:31:50 +00:00
Trustin Lee
9445fd1b6f Fixed issue: NETTY-123 couple of errors in ReplayingDecoderBuffer.java
* Fixed a problem where ReplayingDecoderBuffer.indexOf ignores the specified parameters
2009-02-09 00:50:41 +00:00
Trustin Lee
0f5d16def8 Improved LoggingHandler to log the hex dump of a ChannelBuffer if necessary 2009-02-09 00:45:51 +00:00
Trustin Lee
8cab65d1e8 Fixed a warning message when LoggingHAndler is used 2009-02-08 16:40:05 +00:00
Trustin Lee
dd971b5f79 Prettier string representation of ChannelEvent implementations 2009-02-08 16:37:49 +00:00
Trustin Lee
52e4288964 Prettier string representation of ChannelEvent implementations 2009-02-08 16:12:18 +00:00
Trustin Lee
fff170b71e Removed unused code from HashedWheelTimer 2009-02-08 07:04:26 +00:00
Trustin Lee
c46be1c7f9 Made sure HashedWheelTimer.newTimeout does not throw an IllegalArgumentException for small delay 2009-02-08 06:57:40 +00:00
Trustin Lee
188c7f94aa Fixed a bug where channelClosed event is not propagated in ReadTimeoutHandler 2009-02-07 12:48:14 +00:00
Trustin Lee
63e586586b WriteTimeoutHandler's pipeline coverage is actually "all" 2009-02-05 10:32:52 +00:00
Trustin Lee
206e3a9081 Resolved issue: NETTY-112 LoggingHandler request
* Added LoggingHandler
2009-02-05 08:22:21 +00:00
Trustin Lee
b36872ae2f Added getTimeoutNanos() so that a user can extend the behavior of WriteTimeoutHandler 2009-02-05 07:38:04 +00:00
Trustin Lee
874fc7db77 Deprecated ChannelConfig.writeTimeoutMillis in favor of WriteTimeoutHandler 2009-02-05 07:07:02 +00:00
Trustin Lee
dde0232e19 * Added WriteTimeoutHandler
* Improved HashWheelTimeout.cancel()
2009-02-05 06:55:14 +00:00
Trustin Lee
c79bbd063f Reduced the amount of the heap allocated for hexdump generation (512KiB -> 2KiB) 2009-02-05 06:34:17 +00:00
Trustin Lee
8f92cfb80a Optimized event implementation to reduce memory footprint and improve performance somewhat 2009-02-05 05:56:47 +00:00
Trustin Lee
ebcf1b84e0 Documentation on writeComplete event type 2009-02-05 05:29:25 +00:00
Trustin Lee
0ea4c19c5c * Added WriteCompletionEvent
* Added SimpleChannelHandler.writeComplete
* Added SimpleUpstreamChannelHandler.writeComplete
2009-02-05 05:20:37 +00:00
Trustin Lee
eb522dcd56 Reverted back recent changes related with TrafficMonitor 2009-02-05 05:03:34 +00:00
Trustin Lee
d93d74677e Reverting back recent changes related with TrafficMonitor 2009-02-05 04:57:56 +00:00
Trustin Lee
44ccfa44b0 * Added more handler methods to TrafficMonitor for more precise monitoring 2009-02-05 04:47:25 +00:00
Trustin Lee
acfa2b1ce0 Fixed compilation errors 2009-02-05 04:23:41 +00:00
Trustin Lee
e365f483bb Added ChannelWriteTimeoutException 2009-02-05 03:47:27 +00:00
Trustin Lee
29d227e69e Put simplistic channel lifecycle handler method to TrafficMonitor 2009-02-05 03:46:13 +00:00
Trustin Lee
2625d10e58 Moved org.jboss.netty.handler.timeout to org.jboss.netty.channel.timeout because timeout detection will be implemented as a TrafficMonitor 2009-02-05 03:16:14 +00:00
Trustin Lee
b6ecccb493 * Added TrafficMonitor
* Added AbstractChannelFactory that provides support methods for managing and notifying TrafficMonitors
* Added Channels.notifyInflow/Outflow()
* Modified all transports to notify TrafficMonitors
2009-02-05 03:05:20 +00:00
Trustin Lee
4d84b0e4c6 Updated JavaDoc for ChildChannelStateEvent to prevent misinterpretation 2009-02-04 11:52:35 +00:00
Trustin Lee
b4b7a8c48f Suppressed the usage of the Temporary Selector in Sun JDK to work around a weird race condition in Windows 2009-02-04 06:19:20 +00:00
Trustin Lee
95584f5c34 Forgot to close the channel 2009-02-04 04:05:29 +00:00
Trustin Lee
2d8b3b0a4e Made sure channel registration doesn't fail in Windows unexpectedly 2009-02-04 04:00:52 +00:00
Trustin Lee
42afa85e53 Refactoring that is likely to help JVM optimize QNode more aggressively 2009-02-03 11:57:53 +00:00
Trustin Lee
67d90615e1 Wishful fix for NETTY-115 AccessControlException when running Netty from an Applet
* AtomicReferenceFieldUpdater is used only when it's permitted to be used.
2009-02-03 11:15:25 +00:00
Trustin Lee
a0e2c470b7 * Added ReadTimeoutHandler and its related exceptions 2009-02-02 05:52:39 +00:00
Trustin Lee
90c4999c74 Removed unnecessary parameters of the convenient methods in org.jboss.netty.channel.Channels and deprecated old ones. 2009-02-02 05:47:20 +00:00
Trustin Lee
9da8f78bb1 Added SimpleChannelUpstreamHandler and SimpleChannelDownstreamHandler 2009-02-02 04:04:15 +00:00
Trustin Lee
60befc196f Removed Timeout.extend() operation - a user can just create a new timeout 2009-02-02 03:42:05 +00:00
Trustin Lee
baea5f7a00 Second fix for: NETTY-114 Selectors of the NIO transport are sometimes not waken up
* ServerSocket timeout didn't work as expected.
2009-02-01 15:33:33 +00:00
Trustin Lee
d2427cac7a First fix for: NETTY-114 Selectors of the NIO transport are sometimes not waken up
* Made sure Selector.wakeup() is called, but it can be called more than once if unlucky. Excessive wakeups are still suppressed though.
2009-02-01 14:50:47 +00:00
Trustin Lee
9959cdd705 Fixed a problem where Android application dies during NIO constraint level auto-detection 2009-01-27 08:31:20 +00:00
Trustin Lee
9b36a40a28 Forgot to remove main() ... :-( 2009-01-20 12:54:19 +00:00
Trustin Lee
48bb75b7dc Fixed a problem where calling Timeout.extend() generates multiple timeouts when the timeout is not expired 2009-01-20 12:53:41 +00:00
Trustin Lee
5b27576494 Forgot to set the cancelled flag in cancel() 2009-01-20 12:43:28 +00:00