Trustin Lee
0bf5ca22cb
Cleaner resource leak report by excluding noisy stack trace elements
2014-01-29 11:53:23 +09:00
Trustin Lee
b1392050f7
Disable Javassist completely on Android
...
- Related: #2127
- Inspector warnings
2014-01-21 14:25:54 +09:00
Veebs
5cb9ab0fc0
Correct JavaDoc
2014-01-13 17:40:55 +09:00
Trustin Lee
d7d4ea8c6d
Remove unnecessary check in DefaultPromise.await0()
...
- Fixes #2032
- Fix inspection warnings
2013-12-16 15:16:08 +09:00
Trustin Lee
a79dfe74b7
Prevent NPE from StringUtil.simpleName(..)
2013-12-16 13:54:51 +09:00
Norman Maurer
bddfc38c64
[ #2053 ] Do not allow < 1 on AppendableCharSequence init.
2013-12-11 10:18:26 +01:00
Trustin Lee
40001a7a5b
Add missing synchronization
2013-12-06 22:35:14 +09:00
Trustin Lee
e506581eb1
Add ReferenceCountUtil.releaseLater() to make writing tests easy with ReferenceCounteds
2013-12-06 15:13:00 +09:00
Norman Maurer
04a2249814
[ #2041 ] Make PlatformDependent.isRoot0() work on solaris
2013-12-05 15:43:05 +01:00
Trustin Lee
4f6a591e91
Do not log the deprecated system property when it's not specified by a user
2013-12-05 01:39:48 +09:00
Trustin Lee
e88172495a
Ensure backward compatibility
...
.. by resurrecting the removed methods and system properties.
2013-12-05 01:02:38 +09:00
Trustin Lee
65b522a2a7
Better buffer leak reporting
...
- Remove the reference to ResourceLeak from the buffer implementations
and use wrappers instead:
- SimpleLeakAwareByteBuf and AdvancedLeakAwareByteBuf
- It is now allocator's responsibility to create a leak-aware buffer.
- Added AbstractByteBufAllocator.toLeakAwareBuffer() for easier
implementation
- Add WrappedByteBuf to reduce duplication between *LeakAwareByteBuf and
UnreleasableByteBuf
- Raise the level of leak reports to ERROR - because it will break the
app eventually
- Replace enabled/disabled property with the leak detection level
- Only print stack trace when level is ADVANCED or above to avoid user
confusion
- Add the 'leak' build profile, which enables highly detailed leak
reporting during the build
- Remove ResourceLeakException which is unsed anymore
2013-12-05 00:51:39 +09:00
Norman Maurer
05c10fae05
Replace usage of StringBuilder by AppendableCharSequence for performance reasons
2013-12-03 12:04:07 +01:00
Trustin Lee
407f0a36f5
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:01:46 +09:00
Norman Maurer
a159d3ebac
[ #1994 ] DefaultPromise.cancel() should reuse CancellationException for performance reasons
2013-11-19 17:57:25 +01:00
Trustin Lee
54db9ec725
Use StringUtil.simpleClassName(..) instead of Class.getSimpleName() where necessary
...
- Class.getSimpleName() doesn't render anonymous classes very well
- + some minor cleanup
2013-11-04 19:46:15 +09:00
Trustin Lee
0d1567da0b
Fix an API bug in the JavassistTypeParameterMatcherGenerator where some of its methods are not static
...
- Related issue: #1402
2013-11-04 18:57:02 +09:00
Norman Maurer
16d32ed33a
[ #1959 ] Proposed fix to correctly handle timeouts that overflow the ticks in the wheel
2013-10-31 06:27:17 +01:00
Trustin Lee
af1ac4ca0c
Checkstyle
2013-10-25 21:04:10 +09:00
Trustin Lee
1c2352e6a0
Replace constructor calls on UniqueName and its subtypes with valueOf() wherever possible
2013-10-25 20:58:53 +09:00
Trustin Lee
8986245b47
Deprecate UniqueName and its subtypes' constructors / Add valueOf() for easier future migration.
2013-10-25 20:53:47 +09:00
Trustin Lee
e307979a0d
Fix the problem where HashedWheelTimer puts a timeout into an incorrect place
...
- the stopIndex of a timeout is calculated based on the start time of the worker thread and the current tick count for greater accuracy
2013-10-07 17:46:19 +09:00
Norman Maurer
3739ee90cf
[ #1885 ] Correctly close leak detected also on non started HashedWheelTimer
2013-10-02 06:45:12 +02:00
Norman Maurer
3aa77f54f7
[ #1792 ] PlatformDependent.freeDirectBuffer(..) now respect hasUnsafe()
2013-08-28 07:23:37 +02:00
Trustin Lee
8142aae765
Improve the randomness of ThreadLocalRandom for all platform
...
- Fixes #1765
Java 6 did a poor job of generating seedUniquifier unlike 7, so I implemented platform-independent seedUniquifier generator with configurability
2013-08-24 12:25:50 +09:00
Norman Maurer
b456adf404
[ #1709 ] Correctly detect that Unsafe.copyMemory is missing
2013-08-08 11:57:05 +02:00
Norman Maurer
2b3ac3d446
Factor out the PendingWrite class and put it in internal package. Make use of it in SslHandler and ChunkedWriteHandler to reduce GC-pressure
2013-07-25 12:36:24 +02:00
Norman Maurer
f4e128b807
[ #1612 ] No need for volatile as it is not needed to be precise
2013-07-23 07:11:11 +02:00
Trustin Lee
764741c5ce
Change the contract of ResourceLeakDetector.open() so that unsampled resources are recycled
...
- This also fixes the problem introduced while trying to implement #1612 (Allow to disable resource leak detection).
2013-07-23 14:06:58 +09:00
Trustin Lee
ec370e1d97
Remove an unnecessary empty line
2013-07-23 13:30:27 +09:00
Trustin Lee
70e7bcc963
Remove ResourceLeakDetector.ENABLED / Replace ResourceLeakDetector.is/setDisabled() with is/setEnabled()
...
- Related: #1612
2013-07-23 13:28:05 +09:00
Norman Maurer
2bbad8e4e5
[ #1612 ] Allow to disable resource leak detection via API
2013-07-22 20:55:49 +02:00
kerr
ada07cb9e0
Fix types in javadocs
2013-07-22 19:14:36 +02:00
Jeff Pinner
6c9c151d66
minor documentation cleanup
2013-07-20 08:01:14 +02:00
Norman Maurer
a4d0341ea1
[ #1614 ] Fix bug in SingleThreadEventExecutor which prevent scheduled tasks to get executed
...
The problem was that with OioSocketChannel there was always a read Task in the taskQueue and with the old logic it never tried to execute scheduled tasks if there was at least one task in the taskQueue.
2013-07-19 12:30:40 +02:00
Trustin Lee
762adfcb69
Update HttpStaticFileServer example / Fix bugs related with progress notification
...
- Fix a bug in DefaultProgressivePromise.tryProgress() where the notification is dropped
- Fix a bug in AbstractChannel.calculateMessageSize() where FileRegion is not counted
- HttpStaticFileServer example now uses zero copy file transfer if possible.
2013-07-19 13:21:32 +09:00
Trustin Lee
f96a8e5951
Implement ProgressivePromise notification in NIO byte channels and ChunkedWriteHandler
...
- Refine the contract of GenericProgressiveFutureListener.
- Negative 'total' now means 'unknown', which is useful for ChunkedWriteHandler.
2013-07-19 12:53:23 +09:00
Trustin Lee
ac6c3b85f2
Simplify
2013-07-18 14:49:58 +09:00
Trustin Lee
28b8573b2a
Fix a potential race condition where the worker thread of GlobalEventExecutor terminates with a pending task
...
- Potential fix for the hanging SpdyFrameDecoderTest
2013-07-18 14:49:22 +09:00
Trustin Lee
0f2542ded5
Fix StackOverflowError raised by DefaultPromise.notifyListeners() when ImmediateEventExecutor was used
...
- Fixed #1602
2013-07-18 14:03:48 +09:00
Trustin Lee
ef17a9c5d4
Grammar - Fixes #1598
2013-07-18 10:49:37 +09:00
Trustin Lee
e53738f38c
Less confusing leak warning message
2013-07-17 21:29:03 +09:00
Norman Maurer
9b9f621690
Make DefaultFutureListeners package private
2013-07-15 09:33:33 +02:00
Norman Maurer
7254a5c2c6
Just some tiny javadocs optimizations
2013-07-14 16:02:03 +02:00
Norman Maurer
3a4c7c9c93
Also dissallow null elements on set
2013-07-12 08:25:19 +02:00
Norman Maurer
98c6a5810a
Just tiny optimization to avoid object creation
2013-07-12 08:23:01 +02:00
Norman Maurer
c38db2afe3
Dissallow adding null elements into RecyclableArrayList
2013-07-12 08:01:31 +02:00
Norman Maurer
da5c6add14
Rename CodecOutput to RecyclableArrayList and move it to internal package.
...
* Also reuse it in SslHandler
2013-07-10 07:50:26 +02:00
Norman Maurer
9c1b31d20a
[ #1535 ] Remove Channel.id() and so fix the possible leakage of the previous used Channel id map
...
The user can still use Channel.hashCode() for logging. It's just not 100% unique but should be good enough for most cases
2013-07-08 14:07:18 +02:00
Trustin Lee
1fa087ecbf
Fix checkstyle
2013-07-07 12:29:33 +09:00