Trustin Lee
ab1a7b9774
Fix inefficient loop in QueryStringDecoder.decodeComponent()
...
- Fixes #2228
- There's no point of looping until the end of the component if at least one '%' or '+' is found.
2014-02-14 13:27:18 -08:00
Michael Nitschinger
268988378f
Update JMH to 0.3.2
2014-02-14 13:16:22 -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
Trustin Lee
dd4ed6aa14
Do not warn about Unsafe in Android
2014-02-14 12:07:16 -08:00
Trustin Lee
51829a5706
Fix wiki link
2014-02-14 12:04:28 -08:00
Trustin Lee
1ddf91828d
Do not use String.format() for log message generation
...
- It's slow.
2014-02-13 19:33:36 -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
Valentin Kovalenko
40f4b5c9db
Restore of interrupt status after catch of InterruptedException was added
2014-02-03 06:58:15 +01:00
jwilson
38d04c927f
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:38 +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