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