Norman Maurer
812b0d11c2
No need to slice before copy. Part of #1848
2013-10-12 20:04:33 +02:00
Michael Grove
951dcc6c10
copy all sliced buffers, fixes #1848
2013-10-12 19:54:43 +02:00
Bill Gallagher
b5f5175338
minor gc optimization: better DefaultSpdyHeaders.iterator()
2013-10-12 10:05:31 +02:00
Norman Maurer
ff6a06a9be
Add HttpHeaders.contains(name, value, ...) to save creation of LinkedList for simple checks
2013-10-11 21:39:53 +02:00
Bill Gallagher
1542b36e80
minor gc optimization: better DefaultHttpHeaders.iterator()
2013-10-11 20:44:07 +02:00
Trustin Lee
c9b7f1f1b5
Ensure the selector implementation can be instrumented before attempting instrumentation
...
- Fixes #1908
2013-10-11 12:08:51 +09:00
Norman Maurer
d946659520
[ #1906 ] Use a ByteBuf allocator from the ByteBufAllocator when encode Strings
2013-10-09 21:18:08 +02:00
Norman Maurer
beda02fad0
[ #1898 ] No call fireExceptionCaught but just fail the write promise
2013-10-08 10:02:50 +02:00
Norman Maurer
1c73be21fc
Remove redundant index check
2013-10-08 07:21:01 +02:00
Norman Maurer
c5f6760c68
[ #1895 ] Fix IllegalStateException which was produced during failing ChunkedWrite after the channel was closed
2013-10-08 06:40:43 +02:00
Trustin Lee
d7f9b1ee76
Fixes the problem where the promise of the outbound operation that causes a channel closure is notified after channelInactive()
...
- Fixes #1897
2013-10-08 12:24:16 +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
20a16ae8dc
Use direct ByteBuf for the test to make sure it is not copied
2013-10-07 08:08:10 +02:00
Norman Maurer
00f99dbff6
[ #1893 ] Fix bug in JdkZlibDecoder which did not let it handle large data
2013-10-07 07:31:21 +02:00
Norman Maurer
c0936fc8e7
[ #1890 ] Correctly expand ByteBuffer array in all cases
...
The problem was that we did not handle the case correctly when doubling the array was not enough. We need to keep doubling until everything fits in.
2013-10-06 15:29:35 +02:00
Norman Maurer
5317995a13
[ #1881 ] Use correct field name in NullPointerException
2013-10-04 09:54:41 +02:00
Bill Gallagher
8f612660b2
disable debugging output during test
2013-10-04 06:45:26 +02:00
Norman Maurer
d7da19f745
[maven-release-plugin] prepare for next development iteration
2013-10-02 15:48:52 +02:00
Norman Maurer
d35768ae11
[maven-release-plugin] prepare release netty-4.0.10.Final
2013-10-02 15:48:45 +02:00
Norman Maurer
3739ee90cf
[ #1885 ] Correctly close leak detected also on non started HashedWheelTimer
2013-10-02 06:45:12 +02:00
Norman Maurer
ee192f0321
[ #1880 ] Use ByteBufAllocator when read bytes into new chunks
2013-10-01 10:10:43 +02:00
Norman Maurer
7e6649fd66
[ #1879 ] Correctly validate close frame
2013-10-01 07:32:23 +02:00
Norman Maurer
f70ceeab58
[ #1878 ] Fix leak of ByteBuf when masked payload is used
2013-10-01 07:18:41 +02:00
Norman Maurer
be126395e3
[ #1874 ] WebSocket08FrameDecoder may leak memory if channel is closed before the full frame was received
2013-09-30 20:44:55 +02:00
Bill Gallagher
013ac44d3a
[ #1832 ] - Channel writability change notifications sometimes fail to fire
2013-09-30 20:01:39 +02:00
Norman Maurer
6d09e57be7
[ #1875 ] Correctly check the readerIndex when try to read a byte from AbstractByteBuf
2013-09-30 14:47:49 +02:00
Norman Maurer
b4fa8af079
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 20:37:39 +02:00
Norman Maurer
2b9a07cac9
CompositeByteBuf.isDirect() should return true if its only backed by direct buffers
2013-09-26 20:37:31 +02:00
Norman Maurer
a74149e984
[ #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:27:26 +02:00
Norman Maurer
cf4d25823c
Propagate channelWritabilityChanged() through the pipeline after flushing. Related to [ #1861 ]
2013-09-24 14:05:25 +02:00
Norman Maurer
ef936a6d41
Correctly handle automatically suspend/resume in ChunkedWriteHandler. Related to [ #1861 ]
...
The old implementation was broken and could lead to pending message never be picked up again until the user either explicit called flush or
resumeTransfer().
2013-09-24 13:57:51 +02:00
Norman Maurer
ae904a1f56
Introduce a new ChannelOption called DATAGRAM_CHANNEL_ACTIVE_ON_REGISTRATION. Related to [ #1830 ]
...
This ChannelOption allows to tell the DatagramChannel implementation to be active as soon as they are registrated to their EventLoop. This can be used to make it possible to write to a not bound DatagramChannel.
The ChannelOption is marked as @deprecated as I'm looking for a better solution in master which breaks default behaviour with 4.0 branch.
2013-09-24 11:46:49 +02:00
Norman Maurer
29d34c672c
[ #1855 ] Try to calculate the correct amount of written bytes to update the ChannelProgressiveFuture
2013-09-24 07:49:26 +02:00
Arron Norwell
ce58e76e13
HttpRequestEncoder should append '/' to absolute path requests only when needed
2013-09-22 13:41:35 +02:00
Norman Maurer
910ed31a1b
[ #1851 ] EmptyByteBuf.isWritable(..) and isReadable(...) should not throw IndexOutOfBoundsException
2013-09-21 20:40:22 +02:00
Sasha Zverev
a2624a833e
Slip in DefaultOioSocketChannelConfig (setAllowHalfClosure used to ignore argument)
2013-09-21 20:13:52 +02:00
Norman Maurer
23baef8fb4
[ #1853 ] Optimize gathering writes for CompositeByteBuf that are only backed by one ByteBuffer
2013-09-19 07:29:58 +02:00
Norman Maurer
c0bbde48b7
[ #1852 ] Fix bug in UnpooledDirectByteBuf.nioBuffer(...) implementation
2013-09-18 20:47:57 +02:00
Norman Maurer
f034f90fb3
[ #1836 ] Add comment to explain why read is triggered
2013-09-17 06:58:47 +02:00
Greg Soltis
f1d4f813ed
Fix nioBuffer implementation for CompositeByteBuf
2013-09-16 06:41:08 +02:00
Norman Maurer
3957ee32bb
[ #1833 ] Add testcase for fix
2013-09-14 12:00:05 +02:00
Phillip Schichtel
2243970294
[ #1833 ] Replace ; with & only in the QueryString and not the whole URI
2013-09-14 11:59:58 +02:00
Trustin Lee
cd275ba67e
No need to use an unreleasable buffer - just wrap an array
2013-09-14 11:59:51 +02:00
Norman Maurer
357677d8fa
[ #1830 ] Add testcase for write to not bound DatagramChannel impls and revert change in OIO as it breaks things as the udnerlying socket lazy binds
2013-09-12 09:27:43 +02:00
Norman Maurer
f4f04a08c2
Make DatagramChannel impls .isActive() return true when the underlying Channel is open. This also fixes [ #1830 ]
2013-09-11 20:37:21 +02:00
Norman Maurer
7d9388a3cc
Allow to only register a Channel via AbstractBootstrap and bind/connect it later. Related to [ #1829 ]
2013-09-11 20:14:53 +02:00
Norman Maurer
a857994d82
Add test to show that writing a CompositeByteBuf when SslHandler is in use works. Related to [ #1825 ]
2013-09-11 07:29:19 +02:00
Norman Maurer
f76497fe25
Set memory for compiler as otherwise it sometimes fails here
2013-09-10 18:38:15 +02:00
Norman Maurer
451e91d142
[ #1821 ] Fix IndexOutOfBoundsException which was thrown if the last component was removed but other components was left
2013-09-09 20:29:30 +02:00
Norman Maurer
36c8ac5e5c
[ #1819 ] Remove HTTP compressor and decompressor from the pipeline after websockets handshake completes
2013-09-09 11:55:58 +02:00