Trustin Lee
35ae000c59
Reduce code duplication in DefaultPromise
2014-02-06 22:29:53 -08:00
Trustin Lee
4628d9a672
Fix a race condition in DefaultPromise
...
.. which occurs when a user adds a listener from different threads after the promise is done and the notifications for the listeners, that were added before the promise is done, is in progress. For instance:
Thread-1: p.addListener(listenerA);
Thread-1: p.setSuccess(null);
Thread-2: p.addListener(listenerB);
Thread-2: p.executor.execute(taskNotifyListenerB);
Thread-1: p.executor.execute(taskNotifyListenerA);
taskNotifyListenerB should not really notify listenerB until taskNotifyListenerA is finished.
To fix this issue:
- Change the semantic of (listeners == null) to determine if the early
listeners [1] were notified
- If a late listener is added before the early listeners are notified,
the notification of the late listener is deferred until the early
listeners are notified (i.e. until listeners == null)
- The late listeners with deferred notifications are stored in a lazily
instantiated queue to preserve ordering, and then are notified once
the early listeners are notified.
[1] the listeners that were added before the promise is done
[2] the listeners that were added after the promise is done
2014-02-06 22:05:06 -08:00
Trustin Lee
2b769c6daf
Fix resource leaks in WebSocketServerProtocolHandler
...
- Related: #1975
2014-02-06 21:23:10 -08:00
Trustin Lee
8738bc4ae7
Clean up HttpObjectAggregator
2014-02-06 21:00:24 -08:00
Trustin Lee
b4e3e09b76
Fix a bug that CompositeByteBuf.touch() does nothing
2014-02-06 21:00:05 -08:00
Trustin Lee
c01f08d306
Fix a leak in WebSocketServerProtocolHandshakeHandler
...
- Related: #1975
2014-02-06 20:57:55 -08:00
Trustin Lee
50f8cc98d1
Fix an inspector warning
2014-02-06 15:03:03 -08:00
Trustin Lee
4a86446053
Fix the potential copyright issue in SocksCommonUtils
...
- Add StringUtil.toHexString() methods which are based on LoggingHandler's lookup table implementation, and use it wherever possible
2014-02-06 15:01:55 -08:00
Norman Maurer
7a1a30f0ad
Provide an optimized AtomicIntegerFieldUpdater, AtomicLongFieldUpdater and AtomicReferenceFieldUpdater
2014-02-06 21:07:31 +01:00
Vladimir Schafer
fc6fa2774e
#2183 Fix for releasing of the internal cumulation buffer in ByteToMessageDecoder
2014-02-06 20:09:19 +01:00
Norman Maurer
ff771c0fcb
Correctly calculate checksum when using GZIP. Part of [ #2168 ]
2014-02-06 10:48:56 +01:00
Norman Maurer
4f6ccbbb78
[ #2173 ] Fix regression that let HttpRequestDecoder fail if the websocket response and a websocketframe are send in one go
2014-02-06 10:48:48 +01:00
Norman Maurer
be919b372e
Allow to skip autobahntestsuite by specify property skipAutobahnTestsuite
2014-02-06 07:11:03 +01:00
Trustin Lee
cadaeb658d
Reorganize the SPDY example
...
- Move the server example to spdy.server
- Move the client example to spdy.client
- Fix inspection warnings
2014-02-05 15:03:03 -08:00
Leonardo Freitas Gomes
20d2fb8c2e
SPDY client example
...
Demonstrates the usage of SPDY from a client perspective. One can also
use a SPDY-enabled browser as a client, but it’s easier to understand
the internals of the protocol from a client point-of-view if you have
some code you can debug.
2014-02-05 14:56:32 -08:00
Vladimir Schafer
5c4063b6a9
#2177 Adding support for bound host and port for the SOCKS5 command response. Changes are fully backward compatible.
2014-02-04 19:22:27 +01:00
Valentin Kovalenko
8f10e7791b
Restore of interrupt status after catch of InterruptedException was added
2014-02-03 06:50:31 +01:00
jwilson
ce05320502
Tweak snoop example to send a full HTTP request.
...
Without this, future HTTP requests on this channel will
silently fail because the HttpObjectEncoder will be left
in an unhappy state.
2014-02-01 18:35:09 +01:00
Norman Maurer
1d8a200849
Not wakeup the EventLoop for writes as they will not cause a flush anyway
2014-02-01 15:00:14 +01:00
Norman Maurer
f7f808c7e0
Better exception message to tell the user why it is not supported
2014-01-30 07:00:53 +01:00
Norman Maurer
cd5103feb7
[ #2168 ] Eliminate unnessary memory copy for heap buffers in JdkZlibEncoder
...
* Also adjust tests so it test with direct and heap buffers
2014-01-30 06:29:52 +01:00
Norman Maurer
b3e4122499
[ #2159 ] Not fail the ChannelPromise with WriteTimeoutException to prevent warning
2014-01-29 13:56:42 +01:00
Norman Maurer
96f94cfcb1
[ #2164 ] Only reregister SelectionKeys that are still valid
2014-01-29 07:19:41 +01:00
Trustin Lee
143951ac5f
Remove code duplication
2014-01-29 12:12:46 +09:00
Trustin Lee
e2940da4ad
Exclude sun.nio.ch.DirectBuffer from animal-sniffer check
2014-01-29 12:00:09 +09:00
MiddleBen
f3f2d143e3
Simplify the acquisition of Cleaner
2014-01-29 12:00:09 +09:00
Trustin Lee
0f1b1be0aa
Enable a user specify an arbitrary information with ReferenceCounted.touch()
...
- Related: #2163
- Add ResourceLeakHint to allow a user to provide a meaningful information about the leak when touching it
- DefaultChannelHandlerContext now implements ResourceLeakHint to tell where the message is going.
- Cleaner resource leak report by excluding noisy stack trace elements
2014-01-29 11:44:59 +09:00
Trustin Lee
3061b154c3
Fix inspector warnings
2014-01-28 20:17:13 +09:00
Trustin Lee
65ebecb85f
Touch a ReferenceCounted while it traverses across a pipeline
2014-01-28 20:10:19 +09:00
Trustin Lee
b887e35ac2
Add ReferenceCounted.touch() / Add missing retain() overrides
...
- Fixes #2163
- Inspector warnings
2014-01-28 20:06:55 +09:00
Norman Maurer
928901c593
[ #2161 ] Reduce the verbosity of the autobahntestsuite by eliminate the printed stacktraces
2014-01-28 06:57:39 +01:00
Trustin Lee
35525afda3
Revert "Increase permgen space for javadoc creation"
...
This reverts commit 491b2fd69a
.
2014-01-28 14:01:39 +09:00
Trustin Lee
7d501db7f8
Fix API documentation on the usage of AttributeKey
2014-01-28 13:57:08 +09:00
Norman Maurer
f122118bf7
Not throw an exception if subprotocol is not supported but just drop the header as stated in the RFC's
2014-01-26 11:00:40 +01:00
Norman Maurer
491b2fd69a
Increase permgen space for javadoc creation
2014-01-25 16:01:02 +01:00
Norman Maurer
f0032d5f40
Run the autobahntestsuite as part of the testsuite
2014-01-25 14:09:31 +01:00
Trustin Lee
714ed77e17
Add a log message on deletion failure
2014-01-24 16:45:20 +09:00
Frederic Bregier
19f9bcfe8b
Fix fileChannel not closed, preventing delete to occur correctly
2014-01-24 16:45:20 +09:00
Norman Maurer
cac449a5e4
Add testcase to try to reproduce #2144
2014-01-23 07:10:08 +01:00
Norman Maurer
2b63d2d0cd
Make sure we not leak messages in the SPDY example
2014-01-21 07:34:30 +01:00
Norman Maurer
36166a4faa
Make use of a Logger in the SPDY example and simplify it a bit
2014-01-21 07:17:58 +01:00
Veebs
09fdb08fe4
SPDY example app
2014-01-21 07:17:58 +01:00
Trustin Lee
2be6d1bcc1
Disable Javassist completely on Android
...
- Related: #2127
- Inspector warnings
2014-01-21 14:25:31 +09:00
Frederic Bregier
ce39e6409e
Fix try to delete file while it does not exist anymore (see #2102 and #1713 ) in reference to this issue
2014-01-21 14:16:59 +09:00
Norman Maurer
0f70921d2a
[ #2058 ] Use correct MANIFEST.MF file for source jars
2014-01-20 14:42:16 +01:00
Trustin Lee
13f508154a
Merge the attribute map of ChannelHandlerContext into Channel
...
- Fixes #2136
2014-01-20 15:16:12 +09:00
Trustin Lee
a69c4f2371
Fix IllegalReferenceCountException which occurs when multipart data is stored in memory
...
- Fixes #2102
2014-01-19 17:51:20 +09:00
Trustin Lee
a4e587c46b
Fix resource leak in HttpPostRequestEncoderTest / Typo
2014-01-19 16:52:13 +09:00
Trustin Lee
5f9854d8ac
Fix resource leak in InternalAttribute.setValue()
2014-01-19 16:51:31 +09:00
Trustin Lee
eb4ef433c6
Fix a test failure in Windows due to newline differences
2014-01-19 16:13:49 +09:00