Commit Graph

5896 Commits

Author SHA1 Message Date
Trustin Lee
fee1d9e75c 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:52:24 -08:00
Trustin Lee
5395e263ad Make the build not fail in JDK8 until we fix Javadoc 2014-02-10 14:12:19 -08:00
Trustin Lee
a34d5baad2 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:05:29 -08:00
Trustin Lee
c7087c6842 Fix external Javadoc url 2014-02-10 13:40:57 -08:00
Trustin Lee
cf821683f8 Fix a bug where DefaultPromise.setUncancellable() returns a wrong value
- Fixes #2220 - again
- Missing negation
2014-02-10 11:47:54 -08:00
Trustin Lee
ffcf1fe3d0 Fix a bug where DefaultPromise.setUncancellable() returns a wrong value
- Fixes #2220
- Its Javadoc says it returns true when the promise is done (but not cancelled) or the promise is uncancellable, but it returns false when the promise is done.
2014-02-10 11:40:32 -08:00
Norman Maurer
b07acfc28b [#2219] Fix javadocs of HttpObjectAggregator to show correct handler order in pipeline 2014-02-09 17:10:38 +01:00
Trustin Lee
bd78cd8d60 Remove the StringCache option which was removed in JDK8 2014-02-08 11:14:52 -08:00
Trustin Lee
2e1fe72a95 Remove a version clause added by mistake 2014-02-08 11:07:36 -08:00
Trustin Lee
cc45b5b1f6 Fix a build error related with NPN version and JDK8 2014-02-08 10:48:05 -08:00
Norman Maurer
d8d2eb3264 [#2212] Skip autobahntestsuite when using -DskipTests 2014-02-08 19:00:59 +01:00
Trustin Lee
39bc0df9c5 Fix a build error
which occurred when -Pcoverage was not specified
2014-02-08 09:13:31 -08:00
Trustin Lee
c94e5cb1cb Fix the compilation error in ConcurrentHashMapV8 + JDK8 2014-02-08 08:56:03 -08:00
Trustin Lee
ad121c73b0 Prefer interface to implementation in type declaration
This fixes the build failure with JDK 8 due to animal sniffer error
2014-02-08 08:50:41 -08:00
Trustin Lee
71913d3d84 Add 'coverage' profile that generates the test coverage report 2014-02-08 08:42:39 -08:00
Norman Maurer
bd20f80ca0 [#2215] DefaultChannelHandlerContext tasks needs to be volatile to ensure every thread only see full initialized instances 2014-02-08 10:35:54 +01:00
Trustin Lee
d8c1409820 Use smaller number of boss threads in the example
.. because usually there's no need to use many boss threads.
2014-02-07 14:42:49 -08:00
Trustin Lee
654d39cae6 (Kind of) skip autobahn testsuite on -DskipTests
- autobahntestsuite-maven-plugin does not provide a way to skip all
  tests, so we run only one simple test when -DskipTests is set
2014-02-07 14:18:39 -08:00
Trustin Lee
4918e4c767 Simplify exec-maven-plugin configuration
- Move the version number to the parent pom's pluginManagement section
- Remove unnecessary system properties
- Increase the scope of execution from compile to runtime
2014-02-07 13:40:41 -08:00
Trustin Lee
cc1a17e9f7 Fix indentation 2014-02-07 10:26:51 -08:00
Trustin Lee
2ba00cd358 Log the rejected listener notification task under a dedicated logger name.
- Fixes #2166
- Some user applications are fine with the failure of notification
2014-02-07 10:23:06 -08:00
Daniel Bevenius
96216a9657 Fixing spelling of 'request' for handler names. 2014-02-07 13:51:02 +01:00
Daniel Bevenius
891df2116c Adding ability to start spdy server/client using maven. 2014-02-07 11:26:53 +01:00
Norman Maurer
e7b800eb82 [#2187] Always do a volatile read on the refCnt 2014-02-07 09:37:31 +01:00
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