Norman Maurer
a96eb96646
Allow to cancel non-flushed writes
2014-02-11 20:00:56 +01:00
Trustin Lee
6c094237e5
Do not warn if failed to mark a void promise as success
...
- it's always supposed to fail.
2014-02-10 15:04:03 -08:00
Trustin Lee
fee1d9e75c
Make most outbound operations cancellable / More robust promise update
...
- Inspired by #2214 by @normanmaurer
- Call setUncancellable() before performing an outbound operation
- Add safeSetSuccess/Failure() and use them wherever
2014-02-10 14:52:24 -08:00
Trustin Lee
a34d5baad2
Make most outbound operations are cancellable
...
- Inspired by #2214
- It actually reduces the chance of trying to marking a cancelled promise as success again, which raises an IllegalStateException.
2014-02-10 14:05:29 -08:00
Norman Maurer
bd20f80ca0
[ #2215 ] DefaultChannelHandlerContext tasks needs to be volatile to ensure every thread only see full initialized instances
2014-02-08 10:35:54 +01:00
Norman Maurer
7a1a30f0ad
Provide an optimized AtomicIntegerFieldUpdater, AtomicLongFieldUpdater and AtomicReferenceFieldUpdater
2014-02-06 21:07:31 +01:00
Norman Maurer
1d8a200849
Not wakeup the EventLoop for writes as they will not cause a flush anyway
2014-02-01 15:00:14 +01:00
Norman Maurer
f7f808c7e0
Better exception message to tell the user why it is not supported
2014-01-30 07:00:53 +01:00
Norman Maurer
96f94cfcb1
[ #2164 ] Only reregister SelectionKeys that are still valid
2014-01-29 07:19:41 +01:00
Trustin Lee
0f1b1be0aa
Enable a user specify an arbitrary information with ReferenceCounted.touch()
...
- Related: #2163
- Add ResourceLeakHint to allow a user to provide a meaningful information about the leak when touching it
- DefaultChannelHandlerContext now implements ResourceLeakHint to tell where the message is going.
- Cleaner resource leak report by excluding noisy stack trace elements
2014-01-29 11:44:59 +09:00
Trustin Lee
65ebecb85f
Touch a ReferenceCounted while it traverses across a pipeline
2014-01-28 20:10:19 +09:00
Trustin Lee
b887e35ac2
Add ReferenceCounted.touch() / Add missing retain() overrides
...
- Fixes #2163
- Inspector warnings
2014-01-28 20:06:55 +09:00
Trustin Lee
7d501db7f8
Fix API documentation on the usage of AttributeKey
2014-01-28 13:57:08 +09:00
Norman Maurer
cac449a5e4
Add testcase to try to reproduce #2144
2014-01-23 07:10:08 +01:00
Trustin Lee
13f508154a
Merge the attribute map of ChannelHandlerContext into Channel
...
- Fixes #2136
2014-01-20 15:16:12 +09:00
William Kemper
cab2a03760
fix grouping for isActive - socket.isBound is almost always true and should not override 'isOpen'
2014-01-17 07:23:03 +01:00
Trustin Lee
b165134044
Better exception message
2014-01-13 23:30:32 +09:00
Trustin Lee
17c0722862
Add missing validation which results in NPE later
2014-01-13 23:29:41 +09:00
Trustin Lee
9c1b9492d5
Fix a bug where DefaultChannelPipelineTest.testFireChannelRegistered() triggers channelRegistered() twice
2014-01-13 23:27:56 +09:00
Trustin Lee
999b51b026
Get the PID properly on Android
...
- Related: #2109
2014-01-13 22:28:28 +09:00
Trustin Lee
6df3bb5a79
Fix a problem where DefaultChannelId prevents Netty 5 from running on Android
...
- Fixes #2109
- Use reflection to find the current PID
2014-01-13 17:33:55 +09:00
Norman Maurer
9276fbaea0
[ #2104 ] Make sure we only act on the SelectionKey if it is valid
2014-01-09 18:28:33 +01:00
Trustin Lee
2af1419056
Fix a potential NPE due to the race between a connection attempt and its cancellation
...
- should fix #2086
2014-01-09 19:25:08 +09:00
Norman Maurer
0b8e732c6c
[ #2086 ] Fix race which could produce NPE in AbstractNioUnsafe.finishConnect
2014-01-09 08:22:56 +01:00
milenkovicm
06823e3aff
ChannelOutboundBuffer returns total pending write size
...
total pending write size may be used to optimize write batching
2014-01-07 06:57:20 +01:00
Veebs
194ba39bc0
Fix typo
2014-01-03 11:15:30 +01:00
Michael Nitschinger
299ce22938
Fix typo in EmbeddedSocketAddress.
2014-01-02 15:34:15 +01:00
Trustin Lee
f3a842ecca
[maven-release-plugin] prepare for next development iteration
2013-12-22 22:06:15 +09:00
Trustin Lee
888dfba76f
[maven-release-plugin] prepare release netty-5.0.0.Alpha1
2013-12-22 22:06:06 +09:00
Trustin Lee
0d437baef0
Increase the default maxMessagesPerRead of AbstractNioByteChannel to 16
...
- Related: #2079
2013-12-21 20:08:15 +09:00
Trustin Lee
3ca3efac52
Fix a bug where adaptive recvbuf size prediction doesn't work correctly when maxMessagesPerRead is > 1
2013-12-21 19:56:36 +09:00
Trustin Lee
4e05c52c2e
More graceful registration failure
...
- Fixes #2060
- Ensure to return a future/promise implementation that does not fail with 'not registered to an event loop' error for registration operations
- If there is no usable event loop available, GlobalEventExecutor.INSTANCE is used as a fallback.
- Add VoidChannel, which is used when an instantiation of a channel fails.
2013-12-21 18:47:03 +09:00
Norman Maurer
e1c47632e8
[ #2079 ] Stop reading once the NIO byte Channel was complete drained
2013-12-21 10:39:29 +01:00
Trustin Lee
04ec2e1330
Add Recycler.Handle.recycle() so that it's possible to recycle an object without an explicit reference to Recycler
2013-12-19 01:10:52 +09:00
Trustin Lee
3e8a1ed611
Fix a race condition where flush() can be triggered before write()
...
.. when a handler overrides write() but not flush().
2013-12-17 09:51:41 +09:00
Trustin Lee
94d6e44bba
Change the return type of EmbeddedChannel.read*() from Object to an ad-hoc type parameter
...
.. so that there's no need to explicitly down-cast.
Fixes #2067
2013-12-16 22:22:47 +09:00
Trustin Lee
4302c016d2
Rename flushAndWrite() to writeAndFlush()
...
- Related: #2066
2013-12-16 14:58:14 +09:00
Norman Maurer
1a9eb05ba0
[ #2065 ] Fix NPE in AbstractOioByteChannel during write to the socket
2013-12-15 11:44:51 +01:00
Trustin Lee
b8ca01bd9e
Disable logging temporarily when running testRegistrationAfterShutdown
2013-12-08 14:17:35 +09:00
Trustin Lee
0d70ba4938
Disable logging temporarily when running testRegistrationAfterShutdown2
2013-12-08 14:12:10 +09:00
Trustin Lee
524726fd99
Fix NoSuchElementException raised by ChannelInitializer
...
.. again.
2013-12-07 11:03:55 +09:00
Trustin Lee
3d54a323ca
Revert "Fix NoSuchElementException raised by ChannelInitializer"
...
This reverts commit 3c453f5dba
.
2013-12-07 10:57:13 +09:00
Norman Maurer
643ce2f8c0
Fix all leaks reported during tests
...
- One notable leak is from WebSocketFrameAggregator
- All other leaks are from tests
2013-12-07 00:47:30 +09:00
Trustin Lee
3c453f5dba
Fix NoSuchElementException raised by ChannelInitializer
2013-12-07 00:39:41 +09:00
Trustin Lee
974d1ebf0a
Merge package private interfaces into public ones.
...
- Related: #1989 and #1991
2013-11-27 18:42:23 +09:00
Trustin Lee
110745b0eb
Remove the distinction of inbound handlers and outbound handlers
...
- Fixes #1808
- Move all methods in ChannelInboundHandler and ChannelOutboundHandler up to ChannelHandler
- Remove ChannelInboundHandler and ChannelOutboundHandler
- Deprecate ChannelInboundHandlerAdapter, ChannelOutboundHandlerAdapter, and ChannelDuplexHandler
- Replace CombinedChannelDuplexHandler with ChannelHandlerAppender
because it's not possible to combine two handlers into one easily now
- Introduce 'Skip' annotation to pass events through efficiently
- Remove all references to the deprecated types and update Javadoc
2013-11-27 17:31:28 +09:00
Trustin Lee
807d96ed6c
Simplify bundle generation / Add io.netty.versions.properties to all JARs
...
- Fixes #2003 properly
- Instead of using 'bundle' packaging, use 'jar' packaging. This is
more robust because some strict build tools fail to retrieve the
artifacts from a Maven repository unless their packaging is not 'jar'.
- All artifacts now contain META-INF/io.netty.version.properties, which
provides the detailed information about the build and repository.
- Removed OSGi testsuite temporarily because it gives false errors
during split package test and examination.
- Add io.netty.util.Version for easy retrieval of version information
2013-11-26 22:00:14 +09:00
Trustin Lee
132af3a485
Introduce ChannelHandlerInvoker, dedeciated for invoking event handler methods, and move most handler invocation code in ChannelHandlerContext to the default ChannelHandlerInvoker implementation
...
- Fixes #1912
- Add ChannelHandlerInvoker and its default implementation
- Add pipeline manipulation methods that accept ChannelHandlerInvoker
- Rename Channel(Inbound|Outbound)Invoker to
Channel(Inbound|Outbound)Ops to avoid confusion
- Remove the Javadoc references to the package-private interfaces
2013-11-21 14:14:23 +09:00
Trustin Lee
d0e928db70
Additional fix for potential race condition which occurs when a user cancels a connection attempt
...
- Fixes #1986
2013-11-18 17:00:23 +09:00
Trustin Lee
38f57adb70
Fix an unexpected IllegalStateException from a selector loop when a user cancels a connection attempt
...
- Fixes #1986
2013-11-18 16:33:49 +09:00