Trustin Lee
2235873537
Resurrect Channel.id() with global uniqueness
...
- Fixes #1810
- Add a new interface ChannelId and its default implementation which generates globally unique channel ID.
- Replace AbstractChannel.hashCode with ChannelId.hashCode() and ChannelId.shortValue()
- Add variants of ByteBuf.hexDump() which accept byte[] instead of ByteBuf.
2013-11-18 15:30:12 +09:00
Trustin Lee
6ba1a85c4b
Remove unnecessary parenthesis
2013-11-15 23:08:25 +09:00
Norman Maurer
d11d3a6b50
Also allow to override how direct ByteBuffers are freed
2013-11-12 12:44:11 +01:00
Norman Maurer
9b7d286652
Allow to override how wrapped direct ByteBuffer are allocated to make it easier to extend
2013-11-12 12:44:00 +01:00
Norman Maurer
329bbfcd87
[ #1976 ] Fix IndexOutOfBoundsException when calling CompositeByteBuf.discardReadComponents()
2013-11-09 20:13:43 +01:00
Alex Petrov
519c632b2e
Improve docstrings for and of
2013-11-08 12:23:43 +01:00
Trustin Lee
9125977692
Simpler toString() for ByteBufAllocators
2013-11-08 17:53:57 +09:00
Norman Maurer
c26d43757e
[ #1800 ] [ #1802 ] Correctly expand capacity of ByteBuf while preserve content
2013-11-04 15:18:48 +01:00
Trustin Lee
26415b8f4c
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:42:33 +09:00
Trustin Lee
6b0025430e
Bump the version to 5.0.0.Alpha1
2013-11-04 19:14:40 +09:00
Norman Maurer
9e882c793b
[ #1943 ] Unpooled.copiedBuffer(ByteBuf pooled) should always return unpooled ByteBuf
2013-10-22 20:20:04 +02:00
Norman Maurer
9b625d611f
[ #1925 ] Only expose sub-region of ByteBuf on nioBuffer(...)
2013-10-16 11:51:56 +02:00
Norman Maurer
522dbf8543
[ #1906 ] Use a ByteBuf allocator from the ByteBufAllocator when encode Strings
2013-10-09 21:19:36 +02:00
Norman Maurer
d91717446b
Remove redundant index check
2013-10-08 07:21:15 +02:00
Bill Gallagher
805a9dff8e
disable debugging output during test
2013-10-04 06:58:52 +02:00
Norman Maurer
1ecd1e01a5
[ #1880 ] Use ByteBufAllocator when read bytes into new chunks
2013-10-01 09:27:02 +02:00
Norman Maurer
512908f993
[ #1875 ] Correctly check the readerIndex when try to read a byte from AbstractByteBuf
2013-09-30 14:49:03 +02:00
Norman Maurer
c2101d3c56
Cache underlying ByteBuffers and count in ChannelOutboundBuffer.Entry to reduce object creation and so GC pressure
...
Beside this it also helps to reduce CPU usage as nioBufferCount() is quite expensive when used on CompositeByteBuf which are
nested and contains a lot of components
2013-09-26 21:01:40 +02:00
Norman Maurer
fc805a0787
CompositeByteBuf.isDirect() should return true if its only backed by direct buffers
2013-09-26 20:50:59 +02:00
Norman Maurer
213d195909
[ #1865 ] Only use internalNioBuffer when one of the read* or write* methods are used. This is neccessary to prevent races as those can happen when a slice or duplicate is shared between different Channels
...
that are not assigned to the same EventLoop. In general get* operations should always be safe to be used from different Threads.
This aslo include unit tests that show the issue
2013-09-25 17:18:47 +02:00
Norman Maurer
1c7e107bef
[ #1851 ] EmptyByteBuf.isWritable(..) and isReadable(...) should not throw IndexOutOfBoundsException
2013-09-21 20:40:08 +02:00
Norman Maurer
a855f19ad6
[ #1853 ] Optimize gathering writes for CompositeByteBuf that are only backed by one ByteBuffer
2013-09-19 07:29:21 +02:00
Norman Maurer
0e1dcb91ff
[ #1852 ] Fix bug in UnpooledDirectByteBuf.nioBuffer(...) implementation
2013-09-18 20:48:40 +02:00
Greg Soltis
335f3807a5
Fix nioBuffer implementation for CompositeByteBuf
2013-09-16 06:57:32 +02:00
Norman Maurer
3b44c602db
[ #1821 ] Fix IndexOutOfBoundsException which was thrown if the last component was removed but other components was left
2013-09-10 18:38:52 +02:00
Norman Maurer
a52bbd20f4
Make sure only direct ByteBuffer are passed to the underlying jdk Channel.
...
This is needed because of otherwise the JDK itself will do an extra ByteBuffer copy with it's own pool implementation. Even worth it will be done
multiple times if the ByteBuffer is always only partial written. With this change the copy is done inside of netty using it's own allocator and
only be done one time in all cases.
2013-09-02 20:17:34 +02:00
Norman Maurer
6f79291d5b
[ #1797 ] No use internalNioBuffer() in derived buffers as it is not meant for concurrent access
2013-09-02 14:17:19 +02:00
Norman Maurer
60b06df84f
Add tests to try to track down some buffer issues
2013-09-02 14:17:16 +02:00
Norman Maurer
54d788f435
Remove legancy code which we not need anymore as we use gathering writes anyway everywhere
2013-09-01 11:00:20 +02:00
Norman Maurer
aed8c15326
[ #1797 ] Throw IllegalArgumentException if AbstractByteBuf.skipBytes(...) is used with a negative value
2013-08-29 11:16:11 +02:00
Norman Maurer
09a748abdb
Bump up version to 4.1.0.Alpha1-SNAPSHOT
2013-08-26 15:18:18 +02:00
Norman Maurer
2e39b25cd4
[maven-release-plugin] prepare for next development iteration
2013-08-26 12:01:03 +02:00
Norman Maurer
b67659a866
[maven-release-plugin] prepare release netty-4.0.8.Final
2013-08-26 12:00:54 +02:00
Trustin Lee
20894bc99e
Fix a bug in internalNioBuffer() implementations of derived buffers
...
- A user can create multiple duplicates of a buffer and access their internal NIO buffers. (e.g. write multiple duplicates to multiple channels assigned to different event loop.) Because the derived buffers' internalNioBuffer() simply delegates the call to the original buffer, all derived buffers and the original buffer's internalNioBuffer() will return the same buffer, which will lead to a race condition.
- Fixes #1739
2013-08-20 14:28:50 +09:00
bgallagher
9f88552f12
remove some dead code
2013-08-10 20:46:48 +02:00
Norman Maurer
1d3560e389
[maven-release-plugin] prepare for next development iteration
2013-08-08 13:53:28 +02:00
Norman Maurer
8e97e6c461
[maven-release-plugin] prepare release netty-4.0.7.Final
2013-08-08 13:53:19 +02:00
Norman Maurer
194b64cff1
[ #1708 ] Correctly set the writerIndex in ReadOnlyByteBufferBuf if it is constructed with a buffer which has non zero position
2013-08-08 06:54:32 +02:00
Norman Maurer
ea1dca8105
[ #1704 ] Make sure SwappedByteBuf.readSlice(..) returns ByteBuf with correct ByteOrder
2013-08-06 12:22:22 +02:00
Norman Maurer
3f2000fa3a
[maven-release-plugin] prepare for next development iteration
2013-08-01 10:59:55 +02:00
Norman Maurer
3f70d5caa4
[maven-release-plugin] prepare release netty-4.0.6.Final
2013-08-01 10:59:46 +02:00
Norman Maurer
e3410680de
[maven-release-plugin] prepare for next development iteration
2013-07-31 20:08:14 +02:00
Norman Maurer
0e124583d6
[maven-release-plugin] prepare release netty-4.0.5.Final
2013-07-31 20:08:05 +02:00
Norman Maurer
8a673db92b
[ #1644 ] Fixed IndexOutOfBoundException when calling copy() on a empty CompositeByteBuf
2013-07-24 07:35:51 +02:00
Norman Maurer
0bc7d3f5d1
[maven-release-plugin] prepare for next development iteration
2013-07-23 10:04:23 +02:00
Norman Maurer
ca00182797
[maven-release-plugin] prepare release netty-4.0.4.Final
2013-07-23 10:04:14 +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
Norman Maurer
35802207e1
Fix compile error
2013-07-23 06:42:41 +02:00
kerr
ada07cb9e0
Fix types in javadocs
2013-07-22 19:14:36 +02:00
Norman Maurer
f478fcd3b0
[ #1628 ] Fix bug in ReadOnlyByteByteBufferBuf where get operations threw ReadOnlyBufferException
2013-07-22 07:12:05 +02:00