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
Trustin Lee
b9996908b1
Implement reference counting
...
- Related: #1029
- Replace Freeable with ReferenceCounted
- Add AbstractReferenceCounted
- Add AbstractReferenceCountedByteBuf
- Add AbstractDerivedByteBuf
- Add EmptyByteBuf
2013-02-10 13:10:09 +09:00
Trustin Lee
61bbb04852
Fix a bug in AbstractEmbeddedChannel where flush failure is not recorded
2013-02-10 00:46:30 +09:00
Trustin Lee
51daf2a6a2
Add ABORT signal to Channel*MessageHandlerAdapter
...
- Related: #1030
2013-02-09 20:11:16 +09:00
Trustin Lee
139b1b8382
Add begin/endFlush() and closeOnFailedFlush to ChannelOutboundMessageHandlerAdapter / Make ChannelInboundMessageHandlerAdapter stop processing on first exception to avoid excessive exceptionCaught() events against pipelined messages.
2013-02-09 17:31:20 +09:00
Trustin Lee
e424a2f4b3
Move flushTaskInProgress to AbstractUnsafe
...
.. because it's referenced only there. Also did tiny optimizations.
2013-02-09 01:27:54 +09:00
Trustin Lee
a4c66dc282
Reduce the number of unnecessary Selector.wakeup() / Fix a bug where channelReadSuspended() generates garbage
2013-02-09 01:05:33 +09:00
Trustin Lee
affd514b8c
Rename ByteBufUtil to BufUtil and move ChannelHandlerUtil.freeMessage() there / Remove ChannelHandlerUtil
2013-02-08 23:23:26 +09:00
Trustin Lee
0746199ca4
Remove unreachable code
2013-02-08 23:16:54 +09:00
Trustin Lee
44ea0a116f
Replace ChannelHandlerUtil.unfoldAndAdd() with MessageBuf.unfoldAndAdd() / Remove unused methods in ChannelHandlerUtil
2013-02-08 23:07:20 +09:00
Norman Maurer
a3b46ec9d7
Fix a bug where a closed channel was tried to register with the eventloop
2013-02-08 11:31:48 +01:00
Trustin Lee
ff5aec0c78
Replace TypeParameterFinder with TypeParameterMatcher
...
- We can avoid reflective matching using byte code generation.
- Better matching performance when message type is Object
2013-02-08 18:28:06 +09:00
Trustin Lee
b4eaedf712
Remove confusing ChannelState/OperationHandlerAdapter.inboundBufferUpdated/flush() implementation
2013-02-08 17:17:39 +09:00
Trustin Lee
76eb40a4d2
Make ChannelOutboundMessageHandlerAdapter similar to ChannelInboundMessageHandlerAdapter
2013-02-08 17:07:01 +09:00
Trustin Lee
71136390f1
Extract type parameter finder code to a utility class
2013-02-08 15:57:23 +09:00
Norman Maurer
1033bec4cd
AbstractBootstrap.validate() should return reference to itself
2013-02-08 07:52:35 +01:00
Trustin Lee
fa1b49de98
More robust automatic messageType detection for ChannelInboundMessageHandlerAdapter and MessageToMessageDecoder
2013-02-08 15:45:17 +09:00
Norman Maurer
38ee575839
Let ChannelGroupFuture.addListener(..) return itself to make consistent with ChannelFuture
2013-02-08 07:41:24 +01:00
Norman Maurer
539418ecac
Let ChannelPipeline.set* methods return itself to be more consistent with the reset
2013-02-08 07:24:55 +01:00
Norman Maurer
32e0b59761
Let ChannelPipeline implement Iterable
2013-02-08 07:10:46 +01:00
Trustin Lee
e5616c85c4
Automatic messageType detection for ChannelInboundMessageHandlerAdapter
2013-02-08 13:48:47 +09:00
Trustin Lee
df65b93032
Use Message<Object> instead of Message<I>
2013-02-08 13:05:27 +09:00
Trustin Lee
ac72c3512e
Ensure ChannelInboundMessageHandlerAdapter.endMessageReceived() is always called after handling the inbound message queue. / Call fireInboundBufferUpdated() automatically if the next inbound message buffer was changed.
2013-02-08 13:03:45 +09:00
Trustin Lee
9319e3ebd0
Fix SocketShutdownOutputByPeerTest failure
...
- With half-close enabled, the selector loop was spinning due to uncleared OP_READ flag.
- Added some delay to the test for more reliable failure
2013-02-08 01:50:44 +09:00
Trustin Lee
d8c0bf3be2
Add the 'nextBufferType' parameter to ByteArrayEncoder like did to StringEncoder / Consistent parameter order
2013-02-08 01:36:41 +09:00
Trustin Lee
b8c0751023
Fix a regression where writing a ByteBuf are discarded
2013-02-08 00:41:35 +09:00
Trustin Lee
30e80f8c5c
Fix a regression in ChannelInboundMessageHandlerAdapter
...
- Should forward the unsupported message to the next inbound buffer rather than the next outbound buffer.
2013-02-08 00:08:39 +09:00
Trustin Lee
ec51b359c9
Fix checkstyle again
2013-02-08 00:00:14 +09:00
Trustin Lee
9aa9d8a99b
Fix checkstyle
...
- Basically a workaround for IntelliJ's automatic import optimization
2013-02-07 23:58:21 +09:00
Trustin Lee
d4742bbe16
Clean up abstract ChannelHandler impls / Remove ChannelHandlerContext.hasNext*()
...
- Rename ChannelHandlerAdapter to ChannelDuplexHandler
- Add ChannelHandlerAdapter that implements only ChannelHandler
- Rename CombinedChannelHandler to CombinedChannelDuplexHandler and
improve runtime validation
- Remove ChannelInbound/OutboundHandlerAdapter which are not useful
- Make ChannelOutboundByteHandlerAdapter similar to
ChannelInboundByteHandlerAdapter
- Make the tail and head handler of DefaultChannelPipeline accept both
bytes and messages. ChannelHandlerContext.hasNext*() were removed
because they always return true now.
- Removed various unnecessary null checks.
- Correct method/field names:
inboundBufferSuspended -> channelReadSuspended
2013-02-07 23:47:45 +09:00