Trustin Lee
2d96b32155
Clean-up ChannelOutboundBufferTest
...
- partial port of 136e1ebba8
2014-02-13 14:50:11 -08:00
Trustin Lee
a65f097d53
Allow empty handler list when creating a new EmbeddedChannel
...
.. so that it can be used for dynamically initialized pipelines
- Fixes #1899
2014-02-13 14:46:33 -08:00
Norman Maurer
517da2b46a
Fix checkstyle
2014-02-13 14:36:14 -08:00
Bill Gallagher
7e5aa4a911
use enum for state in LocalChannel
2014-02-13 14:35:58 -08:00
Bill Gallagher
a19fe06928
use enum for state in EmbeddedChannel
2014-02-13 14:34:51 -08:00
Norman Maurer
60acd54c7e
[ #1876 ] Make use of proper state machine in WebSocket08FrameDecoder for performance reasons
2014-02-13 14:34:34 -08:00
Trustin Lee
449ce0dd7a
Remove the irrelevant AIO channel options
2014-02-13 13:59:12 -08:00
Norman Maurer
85ab9b5982
[ #1710 ] Add missing duplicate() overrides in interfaces
2014-02-13 13:57:28 -08:00
Trustin Lee
faaff9bd86
Backport the tests in ReentrantChannelTest
...
- Originally from c149f4bcc0
by @wgallagher
2014-02-13 13:55:39 -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
852a7cec77
Make the build not fail in JDK8 until we fix Javadoc
2014-02-10 14:11:38 -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
Trustin Lee
838e80ed6b
Fix external Javadoc url
2014-02-10 13:40:30 -08:00
Trustin Lee
0e71da3082
Fix a bug where DefaultPromise.setUncancellable() returns a wrong value
...
- Fixes #2220 - again
- Missing negation
2014-02-10 11:48:20 -08:00
Trustin Lee
7e0e4c6325
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:04 -08:00
Norman Maurer
084db044cd
[ #2219 ] Fix javadocs of HttpObjectAggregator to show correct handler order in pipeline
2014-02-09 17:10:09 +01:00
Trustin Lee
ed4f7305ce
Remove the StringCache option which was removed in JDK8
2014-02-08 11:14:16 -08:00
Trustin Lee
c8ec5be842
Remove a version clause added by mistake
2014-02-08 11:07:58 -08:00
Trustin Lee
aeeb2e7bac
Fix a build error related with NPN version and JDK8
2014-02-08 10:48:42 -08:00
Norman Maurer
c93337b01a
[ #2212 ] Skip autobahntestsuite when using -DskipTests
2014-02-08 19:01:14 +01:00
Trustin Lee
50b862349c
Fix a build error
...
which occurred when -Pcoverage was not specified
2014-02-08 09:12:56 -08:00
Trustin Lee
e592d06364
Fix the compilation error in ConcurrentHashMapV8 + JDK8
2014-02-08 08:56:17 -08:00
Trustin Lee
060eed9e80
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:27 -08:00
Trustin Lee
21c4aaa12b
Add 'coverage' profile that generates the test coverage report
2014-02-08 08:43:04 -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
Trustin Lee
87b853c60d
Use smaller number of boss threads in the example
...
.. because usually there's no need to use many boss threads.
2014-02-07 14:43:07 -08:00
Trustin Lee
ea345f6421
(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:20:23 -08:00
Trustin Lee
617739c515
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:22 -08:00
Trustin Lee
8e854bbf18
Fix indentation
2014-02-07 10:30:49 -08:00
Trustin Lee
78cf0e37e2
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:22:37 -08:00
Daniel Bevenius
2e064ee87f
Fixing spelling of 'request' for handler names.
2014-02-07 13:50:39 +01:00
Daniel Bevenius
9ca71f2d8e
Adding ability to start spdy server/client using maven.
2014-02-07 11:28:36 +01:00
Norman Maurer
f23d68b42f
[ #2187 ] Always do a volatile read on the refCnt
2014-02-07 09:23:16 +01:00
Trustin Lee
103a08e6c6
Reduce code duplication in DefaultPromise
2014-02-06 22:30:10 -08:00
Trustin Lee
309ee68c21
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:24 -08:00
Trustin Lee
2598223d0e
Fix resource leaks in WebSocketServerProtocol(Handshake)Handler
...
- Related: #1975
2014-02-06 21:22:01 -08:00
Trustin Lee
c4c71e6d28
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:00:06 -08:00
Norman Maurer
9bee78f91c
Provide an optimized AtomicIntegerFieldUpdater, AtomicLongFieldUpdater and AtomicReferenceFieldUpdater
2014-02-06 20:08:45 +01:00
Vladimir Schafer
3d531231fe
#2183 Fix for releasing of the internal cumulation buffer in ByteToMessageDecoder
2014-02-06 20:07:56 +01:00
Norman Maurer
85a997d5ec
Correctly calculate checksum when using GZIP. Part of [ #2168 ]
2014-02-06 10:47:59 +01:00
Norman Maurer
dddfb149a5
[ #2173 ] Fix regression that let HttpRequestDecoder fail if the websocket response and a websocketframe are send in one go
2014-02-06 10:34:05 +01:00
Norman Maurer
d343a258e2
Allow to skip autobahntestsuite by specify property skipAutobahnTestsuite
2014-02-06 07:10:52 +01:00
Trustin Lee
417f7264fd
Reorganize the SPDY example
...
- Move the server example to spdy.server
- Move the client example to spdy.client
- Fix inspection warnings
2014-02-05 14:54:02 -08:00
Leonardo Freitas Gomes
69a1095976
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:44:01 -08:00
Vladimir Schafer
147e08a30e
#2177 Adding support for bound host and port for the SOCKS5 command response. Changes are fully backward compatible.
2014-02-04 19:28:35 +01:00