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
Trustin Lee
ada61d4985
Ported multicast test / Fixed bugs in NioDatagramChannelConfig
2012-06-03 02:57:52 -07:00
Trustin Lee
e6ceb91a85
Add AbstractDatagramTest / Port unicast test / Ignore 'Socket closed'
2012-06-03 02:40:58 -07:00
Trustin Lee
c6600b3bfd
codec module is only used by tests
...
Thanks @normanmaurer
2012-06-03 02:25:16 -07:00
Trustin Lee
49ef5672be
Better naming / Port socket object echo test
2012-06-03 02:16:49 -07:00
Trustin Lee
7f96221fe9
Fix SocketStringEchoTest
2012-06-03 02:02:44 -07:00
Trustin Lee
7b8024373d
Remove unnecessary test cases thanks to AbstractSocketTest
2012-06-03 01:56:34 -07:00
Trustin Lee
955c89fcf1
Add SocketEchoTest that will simplify a lot of socket testing
...
- SocketTestCombination generates all possible test combinations of
socket transports.
- SocketEchoTest iterates over the combinations and runs all tests
using reflection.
2012-06-03 01:52:39 -07:00
Trustin Lee
3b2c25e8ed
Rename (Server)Bootstrap.(child)initializer to (child)handler
...
- The handler you specify with initializer() is actually simply added
to the pipeline and that's all. It's ChannelInitializer which does
additional work. For example, a user can specify just a single
handler with initializer() and it will still work. This is especially
common for Bootstrap, so I renamed initializer to handler, which makes
more sense.
2012-06-03 01:00:16 -07:00
Trustin Lee
e241b3d6a2
Move tests to the appropriate packages / Remove unnecessary tests
2012-06-02 23:28:17 -07:00
Trustin Lee
cc4c98d7ba
Fix #378 again
...
- @jroper's fix did not work, so I just fixed it again.
2012-06-02 23:05:20 -07:00
Trustin Lee
609674bda2
Fix codec embedder
...
- AbstractCodecEmbedded analyzes the list of the specified headers
and inserts proper conversion handlers
2012-06-02 22:54:13 -07:00
Trustin Lee
26307cbc3e
Merge pull request #379 from jroper/patch-1
...
Fixing #378 , bug in DefaultCookie equals and compareTo
2012-06-02 19:49:18 -07:00
James Roper
e8a74c8ad0
Fixing #378 , when path or domain are null in both this and that, equals and compareTo return false even when the cookies are equal.
2012-06-03 01:04:23 +03:00
Norman Maurer
f34fc73e89
Some changes to the examples to show the usage of @Sharable
2012-06-02 20:13:58 +02:00
Trustin Lee
19dcb81727
Add comments for easier understanding
2012-06-02 02:43:26 -07:00
Trustin Lee
01a5bd41f0
Add Channel.type() which tells if stream-oriented or message-oriented
...
- DefaultChannelPipeline uses this information to reject invalid buffer
access in inbound(Message|Byte)Buffer. Otherwise, a user can access
a message buffer when the channel is stream-oriented.
- Because ChannelType cannot be both STREAM and MESSAGE, catch-all
buffer has been removed to avoid confusion and unexpected behavior
(it's already causing headache.)
- As a result, codec embedder needs rework.
2012-06-02 01:58:15 -07:00