Trustin Lee
ea0c9cfe79
Post-overhaul fixes / Split LoggingHandler into three
...
- LoggingHandler now only logs state and operations
- StreamLoggingHandler and MessageLoggingHandler log the buffer content
- Added ChannelOperationHandlerAdapter
- Used by WriteTimeoutHandler
2012-06-07 16:56:21 +09:00
Trustin Lee
5e93d206ff
Overhaul - Split ChannelHandler & Merge ChannelHandlerContext
...
- Extracted some handler methods from ChannelInboundHandler into
ChannelStateHandler
- Extracted some handler methods from ChannelOutboundHandler into
ChannelOperationHandler
- Moved exceptionCaught and userEventTriggered are now in
ChannelHandler
- Channel(Inbound|Outbound)HandlerContext is merged into
ChannelHandlerContext
- ChannelHandlerContext adds direct access methods for inboud and
outbound buffers
- The use of ChannelBufferHolder is minimal now.
- Before: inbound().byteBuffer()
- After: inboundByteBuffer()
- Simpler and better performance
- Bypass buffer types were removed because it just does not work at all
with the thread model.
- All handlers that uses a bypass buffer are broken. Will fix soon.
- CombinedHandlerAdapter does not make sense anymore either because
there are four handler interfaces to consider and often the two
handlers will implement the same handler interface such as
ChannelStateHandler. Thinking of better ways to provide this feature
2012-06-07 14:52:33 +09:00
Trustin Lee
3def2e6598
Fix more checkstyle errors
2012-06-07 09:19:14 +09:00
Trustin Lee
b1a156d3f2
Fix a build failure due to a dependency problem / Fix checkstyle errors
2012-06-07 09:15:53 +09:00
Trustin Lee
4831eb49da
Fix a test failure in LocalChannelRegistryTest
2012-06-07 08:54:37 +09:00
Trustin Lee
a9cc75dd3e
Port SSL echo test
...
- Remove britspaces
2012-06-06 23:18:37 +09:00
Trustin Lee
843a94b989
Fix compilation errors ( #384 )
...
- ECJ worked fine with the old code, but the official compiler does not
2012-06-06 23:02:47 +09:00
norman
a4b2d70264
Remove some more synchronization stuff which is not needed anymore
2012-06-06 08:24:44 +02:00
norman
a56ea06e58
Only parse packet length once per packet. See #382
2012-06-06 08:20:30 +02:00
norman
f759d30538
Fix starttls support. Now SslHandler should be fully functional again
2012-06-06 08:06:12 +02:00
norman
fd7767ccda
Fix example
2012-06-06 07:52:46 +02:00
norman
2aea5291bd
Port SslHandler to the new API. Everything except of starttls works
2012-06-06 07:52:28 +02:00
Frédéric Brégier
c2e3d305b4
Merge pull request #381 from fredericBregier/master
...
Improve HTTP message streaming in decoder same as #380
2012-06-05 10:05:34 -07:00
Frédéric Brégier
06e754eb81
Improve HTTP message streaming in decoder, in Master same as #380 submitted fix
2012-06-05 19:56:01 +03:00
norman
35ba150db0
Fix BlockingReadHandler
2012-06-05 14:18:09 +02:00
norman
12069d3bf4
Eliminate most of the synchonization stuff in ChunkedWriteHandler as its not needed anymore with the new thread-model
2012-06-05 14:13:56 +02:00
norman
caa35c9772
Rethrow the Throwable which accoured while execution the modification in the EventExecutor
2012-06-05 11:34:47 +02:00
norman
4eb42125a7
Make sure we can't deadlock even if the ChannelPipeline modification is executed by the EventExecutor
2012-06-05 11:21:44 +02:00
Trustin Lee
c2e65016fd
Fixed some checkstyle errors
2012-06-04 13:43:02 -07:00
Trustin Lee
1eced1e9e3
Update license headers
2012-06-04 13:31:44 -07:00
Trustin Lee
36dbbc4867
Fix a test failure
2012-06-04 12:14:42 -07:00
Trustin Lee
4630905b92
Do not wrap exceptions if possible
2012-06-04 12:10:13 -07:00
Trustin Lee
b9fc67c9b8
Get the executor of the context earlier if possible.
2012-06-04 11:59:31 -07:00
Trustin Lee
b322e98712
Remove unnecessary parameters and fields / Clean-up
2012-06-04 11:56:00 -07:00
Norman Maurer
6b637ab22f
No need for a custom Runnable implementation, just use EventExecutor.submit(..).get(). Thanks @trusting for review
2012-06-04 20:49:31 +02:00
Norman Maurer
ecea558e03
Add missing synchronized
2012-06-04 20:40:17 +02:00
Norman Maurer
0e74b089c2
Merge branch 'master' of github.com:netty/netty
2012-06-04 20:34:16 +02:00
Norman Maurer
c31fbc67c2
Let DefaultChannelPipeline call lifecycle methods of ChannelHandler with respect to the new ThreadModel
2012-06-04 20:34:09 +02:00
Norman Maurer
aac5586428
Fix NPE in test
2012-06-04 20:32:12 +02:00
Trustin Lee
1a9c0fd569
Make use of the existance of bridge references to find a buffer
2012-06-04 11:18:48 -07:00
Trustin Lee
c8c577efc5
Remove an unused field
2012-06-04 09:25:39 -07:00
norman
1ed87601b8
Add a testcase to prove that we have no bug in ChunkedWriteHandler when notify futures
2012-06-04 15:14:44 +02:00
Trustin Lee
0aa99606d9
Fix a race where 2 handlers in different threads access the same buffer
...
- DefaultChannelPipeline detects such cases and creates an object called
'bridge' that works as a man-in-the-middle to deal with a race
condition
- Slight performance drop is observed but still faster than v3.
Couldn't find much from a profiler yet.
2012-06-04 00:24:34 -07:00
Trustin Lee
c1afe3d8c3
Exchanging messages between two handlers is now thread safe
...
- (not byte buffers yet)
2012-06-03 19:39:35 -07:00
Trustin Lee
bde9b6aa2a
Remove the OIO-OIO test cases
2012-06-03 19:13:10 -07:00
Trustin Lee
1e7c65c12e
Fix a compilation error
2012-06-03 18:52:18 -07:00
Trustin Lee
f3734e1eb9
Simplified DefaultChannelPipeline by making its list head final
...
- Previously, head was a volatile field which is null at the beginning.
While iterating over the pipeline, if the loop hits null, it called
Channel.Unsafe explicitly.
- Instead, I created an outbound handler that redirects all requests
to the unsafe and made it a final field of the pipeline.
- As a result, DefaultChannelPipeline code became much simpler.
2012-06-03 18:51:42 -07:00
Trustin Lee
f6e14b636f
Improve concurrent message buffer access test to reproduce known issue
2012-06-03 13:21:57 -07:00
Trustin Lee
4d8e2198fa
Fix a bug where LocalServerChannel's localAddress is unregistered
2012-06-03 13:20:56 -07:00
Trustin Lee
1cd3156eba
Make test case more robust
2012-06-03 13:12:29 -07:00
Trustin Lee
234c4c70db
Ensure LocalChannel fire channelActive after peers's channelRegistered
...
- Also:
- Made the test case more robust
- Added a simple concurrent buffer modification test (needs more work)
2012-06-03 12:54:26 -07:00
Trustin Lee
361cb417e0
Move SPDY echo tests to testsuite to use AbstractSocketTest
...
- Moved MIN_VERSION and MAX_VERSION to SpdyConstants to allow public
access
- Removed the tests that are not necessary anymore.
2012-06-03 04:47:05 -07:00
Trustin Lee
d48973b0ff
Add ChannelHandlerContext.hasNext(In|Out)bound(Byte|Message)Buffer
2012-06-03 04:35:38 -07:00
Trustin Lee
bbed0602c1
Use NoSuchBufferException instead of IllegalArgumentException
2012-06-03 04:26:11 -07:00
Trustin Lee
13d7ee1b2f
Optimized DefaultChannelPipeline.write(...)
...
- Also replaced unnecessary function calls with field accesses
2012-06-03 04:25:03 -07:00
Trustin Lee
f991a8c7d4
Fix a bug where DefaultChannelPipeline.write() doesn't find the buffer
...
- Also fixed failures in SpdySessionHandlerTest
2012-06-03 04:10:32 -07:00
Trustin Lee
3e0cbf0caa
Fix HttpClientCodecTest.testFailsOnMissingResponse()
...
- AbstractCodecEmbedder does not throw an exception immediately anymore.
It stores the caught exceptions in the product queue and throws them
on pool() or peek().
2012-06-03 03:32:30 -07:00
Trustin Lee
a94916da66
Remove unnecessary test cases
2012-06-03 03:12:55 -07:00
Trustin Lee
9abc88583c
Fix DatagramMulticastTest failure
...
- Also:
- Unwrap InvocationTargetException
2012-06-03 03:11:56 -07:00
Trustin Lee
b47b54df37
Get loopback interface more accurately
...
- Previous code returned wlan0 on my machine.
2012-06-03 03:07:42 -07:00