Norman Maurer
c838790400
Corrected inconsistencies in the Javadoc.
...
Port of 80030493b9f7824c02dc88260c2579afc0aed8bc
2014-03-04 06:34:14 +01:00
Jakob Buchgraber
15d28f0c59
Added asserts to make sure ChannelHandlers are removed from the pipeline
2014-03-03 06:43:32 +01:00
Norman Maurer
bdedde1294
[ #1259 ] Add optimized queue for SCMP pattern and use it in NIO and native transport
...
This queue also produces less GC then CLQ when make use of OneTimeTask
2014-02-27 11:44:06 +01:00
Norman Maurer
c538fd5098
Fix check to clear READ_OP and EPOLLIN. Part of [ #2254 ]
2014-02-22 20:06:35 +01:00
Norman Maurer
b00e2a19d3
[ #2254 ] Correctly handle Channel.read() and ChannelHandlerContext.read()
...
This includes also when it is called from channelRead(...) and channelReadComplete(...) methods.
2014-02-22 18:45:36 +01:00
Norman Maurer
7fe10fe635
[ #2254 ] Fix regression in handling autoRead and Channel.read()
...
This regression was introduced by e0b39159657c9eb711047bc32367537c4870d467
2014-02-21 08:39:41 +01:00
Norman Maurer
32e28950e1
Move marking ChannelPromise for writes uncancellable to addFlush for keep things simple
2014-02-17 16:14:25 +01:00
Trustin Lee
f4074a8811
Fix compilation errors introduced by sloppy merge
2014-02-15 11:31:01 -08:00
Trustin Lee
11a235ffe9
Use thread local direct buffer for I/O when the current allocator is unpooled
...
- Allocating and deallocating a direct buffer for I/O is an expensive
operation, so we have to at least have a pool of direct buffers if the
current allocator is not pooled
2014-02-15 11:27:04 -08:00
Trustin Lee
b18c8fe688
Determine the default allocator from system property
...
- Add ByteBufAllocator.DEFAULT
- The default allocator is 'unpooled'
2014-02-14 13:05:57 -08:00
Norman Maurer
69a36b8bea
Prettify exception message
2014-02-13 06:46:51 +01:00
Norman Maurer
62ebe88981
Allow to set IoRatio to 100%
2014-02-12 15:22:39 +01:00
Norman Maurer
80e6f9adf4
Correctly respect isAutoRead() and make it consistent across OIO/NIO
2014-02-11 20:46:46 +01:00
Norman Maurer
7041a9238e
Allow to cancel non-flushed writes
2014-02-11 19:42:49 +01:00
Trustin Lee
d52dc3b740
Do not warn if failed to mark a void promise as success
...
- it's always supposed to fail.
2014-02-10 15:03:46 -08:00
Trustin Lee
96b0a949e1
Make most outbound operations cancellable / More robust promise update
...
- Inspired by #2214 by @normanmaurer
- Call setUncancellable() before performing an outbound operation
- Add safeSetSuccess/Failure() and use them wherever
2014-02-10 14:57:18 -08:00
Trustin Lee
041d37e0c8
Make most outbound operations are cancellable
...
- Inspired by #2214
- It actually reduces the chance of trying to marking a cancelled promise as success again, which raises an IllegalStateException.
2014-02-10 14:06:54 -08:00
Norman Maurer
87602fde25
[ #2215 ] DefaultChannelHandlerContext tasks needs to be volatile to ensure every thread only see full initialized instances
2014-02-08 10:33:44 +01:00
Norman Maurer
9bee78f91c
Provide an optimized AtomicIntegerFieldUpdater, AtomicLongFieldUpdater and AtomicReferenceFieldUpdater
2014-02-06 20:08:45 +01:00
Norman Maurer
64c3f58279
Not wakeup the EventLoop for writes as they will not cause a flush anyway
2014-02-01 13:45:27 +01:00
Norman Maurer
f94b563bcd
Better exception message to tell the user why it is not supported
2014-01-30 07:02:22 +01:00
Norman Maurer
80ed147652
[ #2164 ] Only reregister SelectionKeys that are still valid
2014-01-29 07:18:29 +01:00
Trustin Lee
9b0e5b9148
Fix API documentation on the usage of AttributeKey
2014-01-28 13:59:11 +09:00
Norman Maurer
f0c7c901d0
Add testcase to try to reproduce #2144
2014-01-23 07:04:42 +01:00
William Kemper
39b8cc348a
fix grouping for isActive - socket.isBound is almost always true and should not override 'isOpen'
2014-01-17 07:14:00 +01:00
Trustin Lee
237ba27499
Better exception message
2014-01-13 23:32:49 +09:00
Trustin Lee
3373f83cbb
Fix a bug where DefaultChannelPipelineTest.testFireChannelRegistered() triggers channelRegistered() twice
2014-01-13 23:25:32 +09:00
Norman Maurer
13d65d7ccf
[ #2104 ] Make sure we only act on the SelectionKey if it is valid
2014-01-09 18:27:56 +01:00
Trustin Lee
751943ed00
Fix a potential NPE due to the race between a connection attempt and its cancellation
...
- should fix #2086
2014-01-09 19:24:44 +09:00
Norman Maurer
0bbc3facec
[ #2086 ] Fix race which could produce NPE in AbstractNioUnsafe.finishConnect
2014-01-09 08:22:34 +01:00
milenkovicm
393f7b2306
ChannelOutboundBuffer returns total pending write size
...
total pending write size may be used to optimize write batching
2014-01-07 06:52:07 +01:00
Veebs
dd8f4bc0c4
Fix typo
2014-01-03 11:15:14 +01:00
Norman Maurer
fc2e6916d9
Fix regression which was introduced by 89a7cb8e71
...
Related to [#2060 ]
2013-12-21 21:39:51 +01:00
Trustin Lee
bab227213e
Increase the default maxMessagesPerRead of AbstractNioByteChannel to 16
...
- Related: #2079
2013-12-21 20:08:42 +09:00
Trustin Lee
1fcd19a28f
Fix a bug where adaptive recvbuf size prediction doesn't work correctly when maxMessagesPerRead is > 1
2013-12-21 19:57:11 +09:00
Norman Maurer
b889d3f559
[ #2079 ] Stop reading once the NIO byte Channel was complete drained
2013-12-21 10:38:07 +01:00
Trustin Lee
89a7cb8e71
More graceful registration failure
...
- Fixes #2060
- Ensure to return a future/promise implementation that does not fail with 'not registered to an event loop' error for registration operations
- If there is no usable event loop available, GlobalEventExecutor.INSTANCE is used as a fallback.
2013-12-21 18:08:58 +09:00
Trustin Lee
ceaebd37ed
Rename flushAndWrite() to writeAndFlush()
...
- Fixes : #2066
- Fixed inspection warnings
2013-12-16 15:02:13 +09:00
Trustin Lee
82b6e75b96
Rename flushAndWrite() to writeAndFlush()
...
- Related: #2066
2013-12-16 14:58:40 +09:00
Norman Maurer
e136227ee6
[ #2065 ] Fix NPE in AbstractOioByteChannel during write to the socket
2013-12-15 11:41:04 +01:00
Trustin Lee
419b5a8de7
Disable logging temporarily when running testRegistrationAfterShutdown
2013-12-08 14:18:39 +09:00
Trustin Lee
0097b904b7
Disable logging temporarily when running testRegistrationAfterShutdown2
2013-12-08 14:13:43 +09:00
Trustin Lee
4116de8360
Fix NoSuchElementException raised by ChannelInitializer
...
.. again.
2013-12-07 11:04:40 +09:00
Trustin Lee
02703e8fc1
Revert "Fix NoSuchElementException raised by ChannelInitializer"
...
This reverts commit 3c453f5dba
.
2013-12-07 11:04:33 +09:00
Norman Maurer
b3d8c81557
Fix all leaks reported during tests
...
- One notable leak is from WebSocketFrameAggregator
- All other leaks are from tests
2013-12-07 00:44:56 +09:00
Trustin Lee
51428004b3
Fix NoSuchElementException raised by ChannelInitializer
2013-12-07 00:39:21 +09:00
Norman Maurer
7ec70d0210
Merge package private interfaces into public ones. Related to [ #1989 ] and [ #1991 ]
2013-11-25 10:37:34 +01:00
Trustin Lee
fd776274c9
Additional fix for potential race condition which occurs when a user cancels a connection attempt
...
- Fixes #1986
2013-11-18 17:00:43 +09:00
Trustin Lee
54d3c99469
Fix an unexpected IllegalStateException from a selector loop when a user cancels a connection attempt
...
- Fixes #1986
2013-11-18 16:33:21 +09:00
Trustin Lee
ec10409314
Saner toString() implementation for EmbeddedSocketAddress
2013-11-08 18:04:40 +09:00