Commit Graph

729 Commits

Author SHA1 Message Date
Norman Maurer
fada776756 Refactor the aio transport to not depend on the AioChannelFinder and so not need for refelection 2013-02-22 06:53:33 +01:00
Trustin Lee
273948055a Fix #1075: DefaultChannelHandlerContext.fireChannelSuspended and fireInboundBufferUpdated do not work correctly if handlers with EventExecutor are added or removed from pipeline. 2013-02-21 17:16:05 -08:00
Trustin Lee
08e2914cef Do not keep Runnables for the events that are triggered only once in most cases 2013-02-21 15:58:15 -08:00
Trustin Lee
dfbe4e48ae Remove cruft 2013-02-21 15:53:50 -08:00
Trustin Lee
0f46d4b379 Revert 25c7a783a7 and fix #1064 differently
- Rename inbound/outboundBufferFreed to inbound/OutboundShutdown which makes more sense
- Move DefaultChannelHandlerContext.isInbound/OutboundBufferFreed() to DefaultChannelPipeline
- Fix a problem where invokeFreeInbound/OutboundBuffer() sets inbound/outboundShutdown too early (this was the direct cause of #1064)
- Remove the volatile modifier - DCHC.prev/next are volatile and that's just enough
2013-02-21 15:19:42 -08:00
Norman Maurer
3acb22c38c [#1058] Fix incorrect logic to detect if ChannelHandlerContext is writable 2013-02-21 15:55:04 +01:00
Norman Maurer
25c7a783a7 Fix unneccessary use of EventLoop.execute(..) which gives some nice perf boost and also fix [#1064] as we had a race 2013-02-21 15:53:04 +01:00
Norman Maurer
5bda3a25b0 add more debug info about discarded message 2013-02-19 19:08:04 +01:00
Norman Maurer
4e36fbca58 [#1058] Add Channel/ChannelHandlerContext/ChannelPipeline.isWritable() 2013-02-17 21:13:03 +01:00
Trustin Lee
60ee9460a9 Outbound bridge is flushed only when its handler also implements ChannelInboundHandler
- Fixes #1056
2013-02-15 16:24:59 -08:00
Trustin Lee
189c2785c0 ByteBridge.flush() does not flush anything if the target buffer is not writable but expandable
- Fixes #1055
- fire inboundBufferUpdated() again if the bridge was not flushed completely.
2013-02-15 15:50:12 -08:00
Trustin Lee
dc43c2d8a9 ByteBridge.flush() does not flush anything if the target buffer is not writable but expandable
- Fixes #1055
2013-02-15 15:00:41 -08:00
Trustin Lee
1011227b88 Remove apiviz tags - we are focusing on user guide instead and putting diagrams there 2013-02-14 12:09:16 -08:00
Trustin Lee
7b0bf2da7e Use double-checked locking idiom + volatile optimization 2013-02-13 23:19:01 -08:00
Trustin Lee
4eff91df99 Fix a bug where DefaultChannelPromise.failure0() always returns false / Revert a bad commit 2013-02-13 22:53:10 -08:00
Trustin Lee
53c27ef5ae More robust type parameter detection
- Also removed unnecessary constructors which were added due to incomplete type parameter detection logic
2013-02-13 19:02:55 -08:00
Trustin Lee
d0a3c2d95e Reduce the memory footprint of DefaultChannelPromise 2013-02-13 16:38:20 -08:00
Trustin Lee
e2c948782b Fix a problem where flush future is set more than once 2013-02-13 16:36:53 -08:00
Trustin Lee
6fe6456f8d Fix indentation 2013-02-13 15:33:09 -08:00
Trustin Lee
7cefd10d9f Fill/flush bridges only when necessary 2013-02-13 15:32:35 -08:00
Trustin Lee
87efff0bca DefaultChannelHandlerContext.removed doesn't need to be volatile 2013-02-13 15:17:10 -08:00
Trustin Lee
dc8ae16e61 Make inByte/MsgBuf final 2013-02-13 15:16:40 -08:00
Trustin Lee
a3cb3651d0 Use promise.isDone() instead of additional flag / Remove printStackTrace 2013-02-13 14:44:59 -08:00
Norman Maurer
7cf7d7455d [#1048] Make sure the promise is not notified multiple times on failure 2013-02-12 20:46:39 +01:00
Norman Maurer
17e37fdfe6 [#1047] Not process with flush on failure 2013-02-12 20:34:59 +01:00
Norman Maurer
30bcc72b44 [#1038] Remove ChannelHandlerContext.replace*Buffer() methods 2013-02-11 14:16:45 +01:00
Trustin Lee
b4f4b95739 Move io.netty.logging to io.netty.internal / Move Signal out of internal because we use it in Channel*MessageAdapters 2013-02-11 20:08:18 +09:00
Roman Stoffel
5f89195247 Fixing generic <> in documentation to display properly 2013-02-11 19:54:32 +09:00
Trustin Lee
4aacf50758 Prettify APIviz diagrams / Remove an empty package 2013-02-11 18:33:15 +09:00
Norman Maurer
f98da73612 Allow for method chaining 2013-02-11 09:44:04 +01:00
Norman Maurer
707f910d2b Make Channel*Invoker package private 2013-02-11 09:31:01 +01:00
Trustin Lee
bf0bfe9a69 Fix inspector warnings 2013-02-11 16:52:43 +09:00
Norman Maurer
a22725d9fa Let ChannelPromiseAggregator take a vararg of ChannelPromises and rename method 2013-02-11 07:33:22 +01:00
Norman Maurer
df53d6d7c5 Tighten up visibility 2013-02-11 07:29:13 +01:00
Norman Maurer
9228c97546 Tighten up visibility 2013-02-11 07:27:05 +01:00
Norman Maurer
0e47fb50e2 Tighten up visibility 2013-02-11 07:26:10 +01:00
Norman Maurer
7e95be0295 Support method chaining in ChannelFlushPromiseNotifier 2013-02-11 07:22:12 +01:00
Norman Maurer
ba71e3dcd0 Don'T call ChannelPipeline.fireExceptionCaught(..) for outbound events 2013-02-11 07:19:40 +01:00
Trustin Lee
0e341c9d72 Fix covariant return types in ChannelConfig interfaces for method chaining
- Does it really worth doing this? I'm tempted to remove support for method chaining for ChannelConfig.
2013-02-11 15:08:51 +09:00
Trustin Lee
dea1fde604 Self-referential type parameter fix 2013-02-11 14:42:29 +09:00
Trustin Lee
a7b5d45bdf A little bit of optimization that reduces interestOps() calls 2013-02-11 10:39:50 +09:00
Norman Maurer
565e10e0db Only update interestedOps if needed 2013-02-10 20:42:40 +01:00
Norman Maurer
775856b3db Use the same buffer type in ByteBridge as the context 2013-02-10 17:19:43 +01:00
Norman Maurer
e3b8f4dea8 Make sure all resources of a ByteBridge and MessageBridge are released 2013-02-10 17:12:37 +01:00
Norman Maurer
547d4c20b0 Fix javadocs 2013-02-10 14:40:17 +01:00
Norman Maurer
657f16bf2b Add ChannelGroup.deregister() 2013-02-10 14:40:03 +01:00
Norman Maurer
33c94a98a3 Let FileRegion extend ReferenceCounted and add ChannelGroup.flush() , ChannelGroup.sendFile(..) 2013-02-10 14:25:53 +01:00
Trustin Lee
4f6d05365a Fix a race condition in reference counter implementation / Reference count never goes below 0 2013-02-10 14:22:14 +09:00
Trustin Lee
bd0729ac45 Make ChannelGroup.write(..) retain the message 2013-02-10 14:02:43 +09:00
Trustin Lee
2f1a0b0593 Remove freeInbound/OutboundMessage(), replaced by ReferenceCounted.retain/release()
- Related: #1029
2013-02-10 13:31:31 +09:00