Norman Maurer
77d4222db5
[ #1777 ] Use correct Thread when close per channel
2013-08-25 21:22:53 +02:00
Norman Maurer
f76c01c3aa
[ #1782 ] Fix IndexOutOfBoundException with direct buffer and gathering writes
2013-08-24 18:16:05 +02:00
Trustin Lee
7aefd0cbdb
Make AbstractBootstrap public
...
.. to work around the issue with JDK reflection described here:
http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=4283544
Fixes #1780
2013-08-24 17:20:53 +09:00
Norman Maurer
206dc2a391
[ #1772 ] Make sure ChannelOutboundBuffer.recycle() does also reset unflushed, flushed and tail.
...
This fix a IndexOutOfBoundsException which as triggered if recycle() did cut down the buffer[] to the initial size.
2013-08-23 09:01:16 +02:00
Norman Maurer
9fd35d09a2
[ #1770 ] Fix NPE which was thrown if connection timeout was disabled and the connect did not finish directly when using NIO
2013-08-22 12:38:56 +02:00
bgallagher
6a2f340ec0
trim buffers before recycling
2013-08-21 20:28:54 +02:00
bgallagher
fb619f2394
fix writability callback
2013-08-21 16:39:50 +02:00
Norman Maurer
217b8e255c
[ #1763 ] Fill ChannelOutboundBuffer.nioBuffers with null on close to allow the content to be GC'ed
2013-08-20 21:15:05 +02:00
Trustin Lee
caf91b9c06
Fix IllegalStateException triggered while shutting down ThreadPerChannelEventLoopGroup
...
- Fix #1718
- Add the test case contributed by @mkw
2013-08-20 14:37:57 +09:00
bgallagher
a383988cdb
add struct to replace parallel arrays consolidate flushed & unflushed buffers
2013-08-18 19:19:57 +02:00
bgallagher
06e250e493
remove unused initialCapacity
2013-08-17 14:10:33 +02:00
bgallagher
9f88552f12
remove some dead code
2013-08-10 20:46:48 +02:00
Norman Maurer
280afda013
[ #1715 ] Remove extra call socket.configureBlocking(false)
2013-08-10 20:33:19 +02:00
bgallagher
59c2fd8813
[ #1723 ] invoke close in eventloop
2013-08-10 08:19:16 +02:00
Norman Maurer
9d8c4ded50
Move method in correct scope
2013-08-09 13:30:04 +02:00
Norman Maurer
4d0621855a
Remove unused package private method and so remove some complexity
2013-08-09 11:44:41 +02:00
Norman Maurer
b54937ab50
[ #1711 ] Allow to use ChannelOption for set / get MessageSizeEstimator
2013-08-08 20:37:35 +02:00
Norman Maurer
f40a3f34b1
[ #1692 ] Allow to set WRITE_BUFFER_HIGH_WATER_MARK and WRITE_BUFFER_LOW_WATER_MARK via ChannelOption
2013-08-08 20:30:01 +02:00
Norman Maurer
fc6213604d
Make sure ChannelOutboundBuffer not throw NPE during increment/decrement pending writes
2013-08-08 13:42:25 +02:00
Norman Maurer
b934b6009c
Share some code, related to [ #1707 ]]
2013-08-07 20:28:33 +02:00
Norman Maurer
5ef30b6d8b
[ #1707 ] More efficient implementation of ChannelHandlerContext.writeAndFlush(..)
2013-08-07 20:15:10 +02:00
Norman Maurer
5b6e762bf4
Allow to have the Channel GC'ed ASAP
2013-08-07 10:32:03 +02:00
Norman Maurer
48a7a21541
Correctly update Channel.isWritable() when the write happens from outside the EventLoop in a fast fashion. Fixes [ #1697 ]
...
Introduce a new interface called MessageSizeEstimator. This can be specific per Channel (via ChannelConfig). The MessageSizeEstimator will be used to estimate for a message that should be written. The default implementation handles ByteBuf, ByteBufHolder and FileRegion. A user is free to plug-in his/her own implementation for different behaviour.
2013-08-07 10:10:43 +02:00
Norman Maurer
de44917e62
Use recyclable write task to reduce GC pressure
2013-08-05 14:59:58 +02:00
Trustin Lee
17b91f416d
Remove an irrelevant comment
...
.. because firedChannelActive is gone long ago
2013-08-05 16:50:25 +09:00
Norman Maurer
a06295fe0a
Correctly fix problem in ByteToMessageDecoder and ReplayingDecoder which could let to have a released buffer passed to the decode methods.
...
This fixes #1664 and revert also the original commit which was meant to fix it 3b1881b523
. The problem with the original commit was that it could delay handlerRemove(..) calls and so mess up the order or forward bytes to late.
2013-08-01 09:54:07 +02:00
Trustin Lee
81de2275e4
Remove unnecessary traversal of pipeline which occurs when a Channel is closed
...
- Remove unnecessary ascending traversal of pipeline in DefaultChannelHandlerContext.freeInbound()
- Move DefaultChannelHandlerContext.teardownAll() to DefaultChannelPipeline
2013-07-31 20:45:37 +09:00
Trustin Lee
3b1881b523
Make sure ChannelHandler.handlerRemoved() is invoked while handler methods are not running
...
- Fixes #1664
2013-07-31 20:35:51 +09:00
Norman Maurer
3049f5ddc4
Fix checkstyle
2013-07-31 12:21:50 +02:00
Trustin Lee
c79a3cdefe
Fix a bug in NioSocketChannel.doWrite() where flush() triggered from a ChannelFutureListener is ignored
...
- Fixes #1679
2013-07-31 19:13:45 +09:00
Norman Maurer
ca29f1a37d
[ #1683 ] Mark unused ChannelOption @deprecated, to prepare for removal in 4.1.0.Final
2013-07-31 10:50:39 +02:00
Trustin Lee
e81368af06
Simplify handler invocations in DefaultChannelHandlerContext
...
- Sometimes we delegated executor.inEventLoop() to the next context and sometimes we did not. Now we always check inEventLoop() before delegating.
2013-07-31 16:34:32 +09:00
Norman Maurer
e09aea5902
Rename methods of EmbeddedChannel and mark old ones as @deprecated
2013-07-31 16:04:08 +09:00
Jeff Pinner
3922c518cd
Clean up AbstractUnsafe#bind and AbstractUnsafe#disconnect.
2013-07-29 06:54:42 +02:00
Jeff Pinner
bf2430d255
Change AbstractChannel#doRegister return type from Runnable to void.
2013-07-27 20:22:02 +02:00
Jeff Pinner
ca59c1201e
Change AbstractChannel#doDeregister return type from Runnable to void.
2013-07-26 22:21:41 +02:00
Norman Maurer
15279b2525
[ #1654 ] Notify close future after the close was complete
2013-07-26 14:21:11 +02:00
Norman Maurer
cffbba94ee
[ #1654 ] Remove AbstractChannel.doPreClose() and notify close future on register failure. Based on patch of @jpinner
2013-07-26 14:10:31 +02:00
Norman Maurer
5f363e8ade
Revert "remove AbstractChannel#doPreClose"
...
This reverts commit 241f856cc7
.
2013-07-26 11:23:11 +02:00
Jeff Pinner
241f856cc7
remove AbstractChannel#doPreClose
2013-07-26 10:12:01 +02:00
Norman Maurer
fabefba791
[ #1650 ] Make it possible to override isSharable() to simplify things for clojure users
2013-07-25 20:24:27 +02:00
Norman Maurer
6ff87cc20d
Small optimitation to limit volatile reads
2013-07-25 09:28:54 +02:00
Trustin Lee
5e4169802f
Fix potential reentrance issue in ChannelOutboundBuffer
2013-07-24 11:26:03 +09:00
Norman Maurer
0b17586731
[ #1623 ] Fix javadocs for ChannelGroup
2013-07-23 09:03:42 +02:00
Trustin Lee
7903697c36
Remove Arrays.fill(..., null)
...
.. because we can just set each element to null while looping
2013-07-23 15:09:14 +09:00
Trustin Lee
a89b17fa94
Merge ChannelOutboundBuffer.failUnflushed() and recycle() into a single method and make sure it is run later on reentrance
...
- Previously, failUnflushed() did not run when inFail is true, which made unflushed writes are not released on reentrance. This has been fixed by this commit.
- Also, AbstractUnsafe.outboundBuffer is set to null as early as possible to remove the chance of any write attempts made after the closure.
2013-07-23 14:34:10 +09:00
Trustin Lee
d4aa5b53d6
Simplify the validation logic proposed in 25f96b1644
2013-07-23 13:48:22 +09:00
kerr
ada07cb9e0
Fix types in javadocs
2013-07-22 19:14:36 +02:00
Norman Maurer
25f96b1644
[ #1606 ] Reduce overhead during writes because of ChannelPromise validation
2013-07-22 11:28:02 +02:00
Norman Maurer
81612f8e9b
[ #1624 ] Fix resource leak when writing to a closed / not-open channel
2013-07-22 10:59:06 +02:00