Trustin Lee
b9d7bc6b4b
Add a getter method for accessing the ClassPool of JavassistTypeParameterMatcherGenerator
...
.. so that a user can even manipulate the class pool as they wish.
2013-11-04 19:00:25 +09:00
Trustin Lee
5b65be01da
Fix an API bug in the JavassistTypeParameterMatcherGenerator where some of its methods are not static
...
- Related issue: #1402
2013-11-04 18:56:19 +09:00
Norman Maurer
285dd79a10
[ #1959 ] Proposed fix to correctly handle timeouts that overflow the ticks in the wheel
2013-10-31 06:26:41 +01:00
Trustin Lee
0dda7df344
Add a shortcut method for collision-free naming
2013-10-25 20:01:31 +09:00
Trustin Lee
dc009b2c2c
Replace UniqueName with Constant and ConstantPool
...
- Proposed fix for #1824
UniqueName and its subtypes do not allow getting the previously registered instance. For example, let's assume that a user is running his/her application in an OSGi container with Netty bundles and his server bundle. Whenever the server bundle is reloaded, the server will try to create a new AttributeKey instance with the same name. However, Netty bundles were not reloaded at all, so AttributeKey will complain that the name is taken already (by the previously loaded bundle.)
To fix this problem:
- Replaced UniqueName with Constant, AbstractConstant, and ConstantPool. Better name and better design.
- Sctp/Udt/RxtxChannelOption is not a ChannelOption anymore. They are just constant providers and ChannelOption is final now. It's because caching anything that's from outside of netty-transport will lead to ClassCastException on reload, because ChannelOption's constant pool will keep all option objects for reuse.
- Signal implements Constant because we can't ensure its uniqueness anymore by relying on the exception raised by UniqueName's constructor.
2013-10-25 19:21:53 +09:00
Trustin Lee
3c7d458c6e
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:09:00 +09:00
Norman Maurer
eb24b572dc
[ #1885 ] Correctly close leak detected also on non started HashedWheelTimer
2013-10-02 06:44:55 +02:00
Norman Maurer
088551db9c
[ #1792 ] PlatformDependent.freeDirectBuffer(..) now respect hasUnsafe()
2013-08-28 07:23:55 +02:00
Vladimir Krivosheev
761e9ba956
ability to use Executor instead of ThreadFactory
2013-08-27 07:59:27 +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
57d591d188
Fix checkstyle
2013-07-18 14:05:41 +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
Trustin Lee
ff97d1db29
Fix checkstyle
2013-07-07 12:29:11 +09:00
Trustin Lee
70df5a6f63
Add ThreadLocalRandom back because it's used by ForkJoinPool now.
2013-07-07 12:26:48 +09:00
Trustin Lee
378626b31f
Port ConcurrentHashMapV8 again to get the recent upstream fixes
2013-07-07 12:22:59 +09:00
Trustin Lee
4b11aff08f
Less confusing log messages for system properties
...
- Fixes #1502
2013-07-02 09:23:29 +09:00
Norman Maurer
43da224978
Only log about not avaible JavaAssist in debug level
2013-07-01 11:46:34 +02:00
Trustin Lee
63403884f7
Make sure PlatformDependent.isRoot0() works fine in Android
...
.. by swallowing ErrnoException raised by process.destroy().
Fixes #1472
2013-06-25 11:07:13 +09:00
Trustin Lee
32aa661604
Make sure PlatformDependent.maxDirectMemory() works on Android
...
- Fixes #1451
2013-06-25 11:07:13 +09:00
Trustin Lee
952e7bbec7
Remove cruft
2013-06-25 11:07:13 +09:00
Trustin Lee
6f86f38ae9
Fix IllegalStateException triggered by a successful connection attempt
...
- Fixes #1467
- Provide more information about the tasks and promises on exception for easier debugging
2013-06-25 11:07:13 +09:00
Norman Maurer
6a9f965f9b
Introduce new utility class calles ReferenceCountUtil and move utility methods from ByteBufUtil to it.
...
The ones in ByteBufUtil were marked as @deprecated
2013-06-14 07:07:33 +02:00
Trustin Lee
0da48e7e7f
Determine the default number of heap/direct arenas of PooledByteBufAllocator conservatively
...
- Fixes #1445
- Add PlatformDependent.maxDirectMemory()
- Ensure the default number or arenas is decreased if the max memory of the VM is not large enough.
2013-06-14 12:14:45 +09:00
Trustin Lee
ca1a37a3b3
Log correct system property name
2013-06-13 14:21:56 +09:00
Trustin Lee
32bf3054e1
Prefer direct buffer by default
...
- Because it's faster in most cases thanks to unsafe
2013-06-13 14:21:26 +09:00
Trustin Lee
6d1cd0d0cd
ReferenceCountException -> IllegalReferenceCountException
2013-06-13 14:00:15 +09:00