Norman Maurer
73db1f886d
[ #1247 ] Add test which shows the problem with concrete classes that pass in the type based on a generic
2013-04-10 07:08:42 +02:00
Trustin Lee
e8ee6a2772
Better exception message when tickDuration is too big
...
- Related: #1246
- Fix misc inspector warnings
2013-04-10 13:44:05 +09:00
Norman Maurer
da174f4290
Add a warning about SingleThreadEventExecutor.pendingTasks() operation
2013-04-09 12:50:29 +02:00
Norman Maurer
0efebd5a82
Allow to get an Iterator over all of the EventExecutor an EventExecutorGroup contains. Beside this allow to get basic stats for the EventExecutor like pendingTasks and executorCount
2013-04-09 15:45:18 +09:00
Norman Maurer
60cfb547b4
Fix logging of android platform detection
2013-04-08 21:19:20 +02:00
Norman Maurer
51de21f250
[ #1246 ] Correctly convert to nanos
2013-04-08 10:42:54 +02:00
Norman Maurer
2508c76e97
[ #1246 ] Fix cpu-spinning regression in HashedWheelTimer
...
Also remove the usage of System.currentTimeMillis() completely here to make it more consistent and correct
2013-04-08 07:01:08 +02:00
Andrei Pozolotin
a3e760a003
fix #1234 - duplicate package-info.java errors in eclipse requires release of netty-build v 19 and netty-parent update.
2013-04-05 05:38:05 +09:00
Trustin Lee
05bc0ba17f
Fix checkstyle
2013-04-04 16:47:10 +09:00
Trustin Lee
6dfa455f9e
Fix compiler warnings
2013-04-04 16:31:41 +09:00
Trustin Lee
117ad8acd7
Add MultithreadEventLoopGroup.DEFAULT_EVENT_LOOP_THREADS / Add DefaultThreadFactory
...
- Allow overriding the default thread factory when a user specified no thread factory
2013-04-03 17:49:30 +09:00
Trustin Lee
312a35dfed
Remove MultithreadEventExecutorGroup.DEFAULT_POOL_SIZE
...
- We should never define a default nThread for MultithreadEventExecutorGroup because we don't know what a user do with it.
2013-04-03 17:15:25 +09:00
Trustin Lee
2ffa083d3c
Allow overriding the default allocator properties and log them / Prettier log
2013-04-03 12:08:01 +09:00
Trustin Lee
0f3dc0409a
Log various properties at startup time for easier diagnosis
2013-04-03 11:44:30 +09:00
Norman Maurer
96bf71e814
Let EventExecutorGroup extend ScheduledExecutorService as it shares quite some semantic
2013-04-01 13:56:46 +02:00
Prajwal Tuladhar
05850da863
enable checkstyle for test source directory and fix checkstyle errors
2013-03-30 13:18:57 +01:00
Norman Maurer
59012390f6
Fix version numbering
2013-03-25 08:01:11 +01:00
Norman Maurer
7d7b676eeb
[maven-release-plugin] prepare for next development iteration
2013-03-22 15:20:35 +01:00
Norman Maurer
60fc7dac4d
[maven-release-plugin] prepare release netty-4.0.0.CR1
2013-03-22 15:20:11 +01:00
Prajwal Tuladhar
915cb8b55c
[ #744 ] Port fixes from Akka to HashedWheelTimer
...
port fix from Akka with following commits:
*
https://github.com/akka/akka/commit/cb4e3536b0ed3483bd3636d7789c0ddcadaf
a2da
*
https://github.com/akka/akka/commit/7e590f3071bdf89a4aa9d7d262bac8923d85
e754
And also use constants for worker state for time instead of numeric.
2013-03-22 12:26:15 +01:00
Norman Maurer
624bda4695
Make sure cancelled scheduled tasks will not run again if cancelled before
2013-03-22 08:13:21 +01:00
Trustin Lee
19ffdd5c29
Revamp the selector auto rebuild checker
...
- Count the number of select() calls made to wait until reaching at the expected dead line, and rebuild selectors if too many select() calls were made.
2013-03-22 14:33:47 +09:00
Trustin Lee
fa02ffddae
Remove TaskScheduler and ImmediateEventExecutor that requires TaskScheduler
...
- Related issue: #817
2013-03-22 09:06:08 +09:00
Trustin Lee
4097dee49d
Make SingleThreadEventExecutor independent from TaskScheduler
...
- Related issue: #817
2013-03-22 09:00:38 +09:00
Trustin Lee
cfa2f72681
Fix checkstyle
2013-03-21 19:01:53 +09:00
Trustin Lee
a980638190
Ensure the best effort is made even if future listeners could not be notified / Handle registration failure in a robust manner
...
- Related: #1187
2013-03-21 17:48:10 +09:00
Trustin Lee
8b722d29a7
Add constructor parameters that do not perform type parameter auto-detection for the languages without type parameters
...
- Fixes #1177
- Add TypeParameterMatcher.get(parameterType)
- Add alternative constructors
2013-03-21 16:11:47 +09:00
Norman Maurer
ce87b627be
Let EventExecutor return our Future to allow the user to work also with FutureListener here. Also add a special ScheduledFuture that extends our Future for this purpose.
2013-03-19 10:45:42 +01:00
Trustin Lee
2a87950784
[maven-release-plugin] prepare for next development iteration
2013-03-16 18:41:36 +09:00
Trustin Lee
adfb29330b
[maven-release-plugin] prepare release netty-4.0.0.Beta3
2013-03-16 18:40:59 +09:00
Trustin Lee
d19b575c31
Fix an incorrect modulo operation
2013-03-14 13:17:07 +09:00
Trustin Lee
4323fea5fb
Fix a bug where TypeParameterMatcher does not detect the case where the type parameter is derived from an outer class
...
- Fixes #1153
2013-03-14 07:22:44 +09:00
Trustin Lee
8dcb1387e3
Add I/O ratio parameter to NioEventLoop
...
- Add SingleThreadEventExecutor.runAllTasks(timeout)
- Add NioEventLoop.ioRatio property
- Merge SelectorUtil into NioEventLoop
2013-03-14 06:49:08 +09:00
Trustin Lee
cef81f1bff
Revert e66fc219ff
2013-03-12 16:44:25 +09:00
Norman Maurer
17ebbdec20
Let ChannelGroupFuture extends ChannelFuture and ChannelGroupFutureListener GenericFutureListener
2013-03-12 08:35:39 +01:00
Trustin Lee
ed825de4bf
Fix a bug where TypeParameterMatcher raises ClassCastException when an instance with raw type parameter is given
2013-03-09 09:19:34 +09:00
Trustin Lee
4f2e347625
More concise exception message
2013-03-09 08:48:22 +09:00
Norman Maurer
8d7f1e2820
Add stacktrace to the IllegalStateException which is thrown if a Promise was notified before
2013-03-08 15:11:29 +01:00
Trustin Lee
12f1d96914
Relaxed memory access constraint of ReferenceCounted.refCnt() for potentially better performance / More precise reference counting for MessageBuf
2013-03-08 10:32:20 +09:00
Trustin Lee
41ab17b9bf
Fix inspection warnings in HashedWheelTimer
2013-03-08 08:45:17 +09:00
Prajwal Tuladhar
e66fc219ff
port fix from Akka for HashedWheelTimer
...
Ported from commits:
* cb4e3536b0
* 7e590f3071
2013-03-08 08:25:37 +09:00
Norman Maurer
88cc8c1739
[ #1065 ] Provide Future/Promise without channel reference
2013-03-07 07:21:37 +01:00
Trustin Lee
c5f606e632
Warn in case of incomplete low-level API
2013-03-05 18:06:01 +09:00
Trustin Lee
8d88acb4a7
Change ByteBufAllocator.buffer() to allocate a direct buffer only when the platform can handle a direct buffer reliably
...
- Rename directbyDefault to preferDirect
- Add a system property 'io.netty.prederDirect' to allow a user from changing the preference on launch-time
- Merge UnpooledByteBufAllocator.DEFAULT_BY_* to DEFAULT
2013-03-05 17:55:24 +09:00
Trustin Lee
307e6c47d8
Make hasUnsafe() return true only when all necessary low level operations are available for reliable direct buffer access
2013-03-05 17:25:54 +09:00
Norman Maurer
faaff91dd0
Fix checkstyle
2013-03-05 07:06:52 +01:00
Trustin Lee
7e17f71b30
Make PlatformDependent work with the platforms without unaligned access support
2013-03-05 14:27:52 +09:00
Trustin Lee
881bd8eea3
Support array types in JavassistTypeParameterMatcherGenerator
2013-02-28 10:37:55 -08:00
Trustin Lee
b712b030fa
Fix a bug where TypeParameterMatcher fails when a type parameter is an array
...
- Fixes #1103
2013-02-28 10:29:03 -08:00
Trustin Lee
49aa907bd0
[maven-release-plugin] prepare for next development iteration
2013-02-26 16:55:07 -08:00
Trustin Lee
5026c2f359
[maven-release-plugin] prepare release netty-4.0.0.Beta2
2013-02-26 16:54:53 -08:00
Trustin Lee
671f9d48d4
Use ConcurrentHashMapV8 wherever possible
...
- Fixes #1052
2013-02-26 15:54:51 -08:00
Trustin Lee
f67441354a
Move logging classes from internal to internal.logging
...
.. because internal is crowded
2013-02-26 14:54:25 -08:00
Trustin Lee
32affc8c8b
Fix regression in DefaultAttributeMap / Add Attribute.key() / More fine-grained locking
2013-02-21 15:49:51 -08:00
Norman Maurer
6568cbfec4
[ #1071 ] Remove Attribute from map after Attribute.remove() was called
2013-02-21 19:38:23 +01:00
Atsuhiko Yamanaka
8fdf788cbd
[ #1012 ] Replace forked jzlib with official jzlib and add a test.
2013-02-20 12:49:05 +01:00
Norman Maurer
74738fbd08
[ #1061 ] Add workaround to not use PooledUnsafeDirectByteBuf when running on latest OpenJDK6 because of missing Unsafe method
2013-02-19 12:21:08 +01:00
Trustin Lee
d68a04a879
[maven-release-plugin] prepare for next development iteration
2013-02-14 12:56:24 -08:00
Trustin Lee
59e638f8f5
[maven-release-plugin] prepare release netty-4.0.0.Beta1
2013-02-14 12:56:15 -08:00
Trustin Lee
1011227b88
Remove apiviz tags - we are focusing on user guide instead and putting diagrams there
2013-02-14 12:09:16 -08:00
Trustin Lee
742db71a52
Fix IllegalAccessError when Javassist is used
2013-02-13 23:56:55 -08:00
Trustin Lee
53c27ef5ae
More robust type parameter detection
...
- Also removed unnecessary constructors which were added due to incomplete type parameter detection logic
2013-02-13 19:02:55 -08:00
Trustin Lee
b4f4b95739
Move io.netty.logging to io.netty.internal / Move Signal out of internal because we use it in Channel*MessageAdapters
2013-02-11 20:08:18 +09:00
Trustin Lee
a2e5cd94be
Prettify APIviz / Tighten visibility / Move subclasses to top level / Remove unused UnknownSocksMessage
2013-02-11 19:42:23 +09:00
Trustin Lee
8f895a7e9a
More robust type parameter detection
...
- now handles '<List<Integer>>'
2013-02-10 01:50:49 +09:00
Trustin Lee
cedcee3f42
Reduce the potential contention caused by ResourceLeakDetector sampling
2013-02-09 12:27:38 +09:00
Trustin Lee
4df737864e
Revert the previous commit (sorry!)
2013-02-09 12:21:30 +09:00
Trustin Lee
ea6113d7fb
Call PhantomReference.clear() from close()
2013-02-09 12:20:10 +09:00
Trustin Lee
09b022e926
Use PhantomReference insteadof WeakReference for resource leak detection
2013-02-09 12:15:25 +09:00
Trustin Lee
3a12a2db46
Fix checkstyle
2013-02-09 02:37:07 +09:00
Trustin Lee
9a676bc7d5
Faster memory copy between direct buffer and byte array
2013-02-09 01:55:01 +09:00
Trustin Lee
9475f9aeea
Add a system property that disables Javassist
2013-02-08 22:14:38 +09:00
Trustin Lee
54d44c6ac1
Use byte code generation if Javassist is available.
2013-02-08 21:45:14 +09:00
Norman Maurer
2f12f95d9b
Use correct index when try to find the type of the message
2013-02-08 10:40:46 +01:00
Trustin Lee
ff5aec0c78
Replace TypeParameterFinder with TypeParameterMatcher
...
- We can avoid reflective matching using byte code generation.
- Better matching performance when message type is Object
2013-02-08 18:28:06 +09:00
Trustin Lee
646cd455ea
Fix incorrect exception message
2013-02-08 17:25:16 +09:00
Trustin Lee
1eafffbec5
Use thread-local map instead of ConcurrentHashMap for faster instantiation of handler adapters
2013-02-08 17:24:29 +09:00
Trustin Lee
1640b1fea6
Automatically detect the message types in MessageToMessageCodec
2013-02-08 16:12:32 +09:00
Trustin Lee
71136390f1
Extract type parameter finder code to a utility class
2013-02-08 15:57:23 +09:00
Andrei Pozolotin
f24872c566
[ #1010 ] Add verify module to check osgi bundles
2013-02-06 20:13:07 +01:00
Norman Maurer
fd75615d7a
[ #870 ] Convert all modules into osgi bundles
2013-02-06 07:57:11 +01:00
Norman Maurer
2ad1451ce8
Fix semantic of DefaultAttribute impl on setIfAbsent
2013-01-31 11:52:36 +01:00
Trustin Lee
39357f3835
Enable TCP_NODELAY and SCTP_NODELAY by default
...
- Fixes #939
- Add PlatformDependent.canEnableTcpNoDelayByDefault()
- Currently returns false on Android. Will change if necessary later.
2013-01-31 12:17:09 +09:00
Trustin Lee
b60e0b6a51
Modernize InternalLogger API and enable logging framework autodetection
...
- Borrow SLF4J API which is the best of the best
- InternalLoggerFactory now automatically detects the logging framework
using static class loading. It tries SLF4J, Log4J, and then falls back
to java.util.logging.
- Remove OsgiLogger because it is very likely that OSGi container
already provides a bridge for existing logging frameworks
- Remove JBossLogger because the latest JBossLogger implementation seems
to implement SLF4J binding
- Upgrade SLF4J to 1.7.2
- Remove tests for the untestable logging frameworks
- Remove TestAny
2013-01-19 20:50:52 +09:00
Trustin Lee
24acfe7008
Remove io.netty.monitor as discussed in #922
2013-01-18 11:08:57 +09:00
Trustin Lee
337f5bbb8e
Automatic diagnosis of resource leaks
...
Now that we are going to use buffer pooling by default, it is obvious
that a user will forget to call .free() and report memory leak. In this
case, we should have a tool to determine if it is a bug in our allocator
implementation or in the user's code.
This pull request adds a system property flag called
'io.netty.resourceLeakDetection'. If set, when a user forgets to call
.free(), the ResourceLeakDetector will detect it and log a message with
detailed stack trace to tell where the leaked buffer has been allocated.
Because obtaining stack trace is an expensive operation, I used sampling
technique. Allocation is recorded only for every 113th allocation. I
chose 113 because it's a prime number.
In production, a user might not want to enable this option due to
potential performance impact. If a user does not specify the
'-Dio.netty.resourceLeakDetection' option leak detection is disabled.
Even if the leak detection is enabled, the overhead should be less than
5% because only ~1% of allocations are monitored.
I also replaced SharedResourceMisuseDetector with ResourceLeakDetector.
2013-01-15 14:15:27 +09:00
Trustin Lee
04bae9bceb
Use sun.misc.Unsafe to access a direct ByteBuffer
...
- Add PooledUnsafeDirectByteBuf, a variant of PooledDirectByteBuf, which
accesses its underlying direct ByteBuffer using sun.misc.Unsafe.
- To decouple Netty from sun.misc.*, sun.misc.Unsafe is accessed via
PlatformDependent.
- This change solely introduces about 8+% improvement in direct memory
access according to the tests conducted as described in #918
2013-01-11 16:25:12 +09:00
Norman Maurer
e564157381
Fix one checkstyle and one compile error caused by the last commit
2013-01-11 07:45:22 +01:00
Trustin Lee
64ae8b6a37
Replace and merge DetectionUtil and DirectByteBufUtil into PlatformDependent and PlatformDependent0
...
PlatformDependent delegates the operations requires sun.misc.* to PlatformDependent0 to avoid runtime errors due to missing sun.misc.* classes.
2013-01-11 14:03:27 +09:00
Norman Maurer
5b5b39a606
[ #916 ] Only access Cleaner if it is really present to prevent errors on android
2013-01-10 20:03:54 +01:00
Trustin Lee
eb337ff5a7
Fix various inspection warnings
2013-01-10 15:23:58 +09:00
Courtney Robinson
3a52cc410a
Add some of the metrics mentioned in #718
...
use single static initialization of available metrics monitor registries
* This changes the original implementation to work in a similar way to
how slf4j selects and loads an implementation.
* Uses a single static instance so intialization is done only once.
* Doesn't throw IllegalStateException if multiple implementations are
found on the classpath. It instead selects and uses the first
implementation returned by iterator()
* Class left as an iterable to keep the API the same
add yammer metrics to examples to allow them to publish metrics
publish the number of threads used in an EventLoopGroup see issue #718
* seems like the better place to put this because it sets the default
thread count if the MultithreadEventLoopGroup uses super(0,...)
* It also happens to be the common parent class amongst all the
MultiThreadedEventLoopGroup implementations
* Count is reported for
io.netty.channel.{*,.local,.socket.aio,.socket.nio}
fix cosmetic issues pointed out in pull request and updated notice.txt
see https://github.com/netty/netty/pull/780
count # of channels registered in single threaded event loop
measure how many times Selector.select return before SELECT_TIME
2013-01-04 11:27:49 +01:00
alexey
738d382fbc
Added test cases for NetUtil methods, if we can`t convertAddress we return null
2012-12-29 18:31:53 +01:00
Norman Maurer
0fb0037eab
Rename IpAddresses to NetUtil
2012-12-29 18:25:32 +01:00
Norman Maurer
5d13c7d27b
Merge IPUtil and NetworkConstants into IpAddresses and also make naming of methods consistent
2012-12-29 18:17:33 +01:00
Norman Maurer
213c1e3d23
Replace sun.net.util.IPAddressUtil usage with own implementation
2012-12-29 18:13:44 +01:00
Trustin Lee
85e1684084
Simpler method naming in Timeout
2012-12-26 13:50:01 +09:00
Trustin Lee
6b9f7065a2
Simpler and more comprehensive method naming in monitor
2012-12-26 13:48:29 +09:00
Norman Maurer
7db47dd0d0
Finish javadocs for common module
2012-12-21 08:16:00 +01:00
Trustin Lee
ad10518fca
Fix the incorrect snapshot version number
2012-12-13 22:49:31 +09:00
Norman Maurer
85c570505b
[maven-release-plugin] prepare for next development iteration
2012-12-03 20:34:05 +01:00
Norman Maurer
17d77ed160
[maven-release-plugin] prepare release netty-4.0.0.Alpha8
2012-12-03 20:33:49 +01:00
Trustin Lee
33c0c89fef
Remove unnecessary empty lines
2012-12-03 19:58:13 +09:00
Trustin Lee
818a7b42a3
Fix all Xlint:unchecked warnings
2012-11-30 22:49:51 +09:00
Trustin Lee
81e2db10fa
ByteBufAllocator API w/ ByteBuf perf improvements
...
This commit introduces a new API for ByteBuf allocation which fixes
issue #643 along with refactoring of ByteBuf for simplicity and better
performance. (see #62 )
A user can configure the ByteBufAllocator of a Channel via
ChannelOption.ALLOCATOR or ChannelConfig.get/setAllocator(). The
default allocator is currently UnpooledByteBufAllocator.HEAP_BY_DEFAULT.
To allocate a buffer, do not use Unpooled anymore. do the following:
ctx.alloc().buffer(...); // allocator chooses the buffer type.
ctx.alloc().heapBuffer(...);
ctx.alloc().directBuffer(...);
To deallocate a buffer, use the unsafe free() operation:
((UnsafeByteBuf) buf).free();
The following is the list of the relevant changes:
- Add ChannelInboundHandler.freeInboundBuffer() and
ChannelOutboundHandler.freeOutboundBuffer() to let a user free the
buffer he or she allocated. ChannelHandler adapter classes implement
is already, so most users won't need to call free() by themselves.
freeIn/OutboundBuffer() methods are invoked when a Channel is closed
and deregistered.
- All ByteBuf by contract must implement UnsafeByteBuf. To access an
unsafe operation: ((UnsafeByteBuf) buf).internalNioBuffer()
- Replace WrappedByteBuf and ByteBuf.Unsafe with UnsafeByteBuf to
simplify overall class hierarchy and to avoid unnecesary instantiation
of Unsafe instances on an unsafe operation.
- Remove buffer reference counting which is confusing
- Instantiate SwappedByteBuf lazily to avoid instantiation cost
- Rename ChannelFutureFactory to ChannelPropertyAccess and move common
methods between Channel and ChannelHandlerContext there. Also made it
package-private to hide it from a user.
- Remove unused unsafe operations such as newBuffer()
- Add DetectionUtil.canFreeDirectBuffer() so that an allocator decides
which buffer type to use safely
2012-11-22 15:10:59 +09:00
dantran
4107b08f29
Only generate OSGi manifest only at all-in-on sub module to reduce the complexity to the build
2012-11-19 06:27:18 +01:00
dantran
105f952f5d
Clean up maven-bungle-plugin warnings
2012-11-12 11:42:42 +01:00
dantran
e236f5b77d
[ #154 ] [ #727 ] Use maven-plugin-plugin to generate OSGi manifest
2012-11-12 09:15:36 +01:00
Trustin Lee
ec7849ac09
Allow '_' in parameter names although discouraged
2012-11-12 13:39:24 +09:00
Trustin Lee
a05064d3eb
Fix more inspection warnings + compilation errors
2012-11-12 13:25:00 +09:00
Trustin Lee
36c8eb02e8
Fix parameter namings + some more
2012-11-12 12:59:37 +09:00
Trustin Lee
6f2840193a
Fix inspection warnings related with JUnit usage
2012-11-12 12:45:06 +09:00
Trustin Lee
aedf8790c3
Fix various Javadoc issues / Do not use argN parameter names
2012-11-12 12:26:19 +09:00
Trustin Lee
ea4a0e3535
Prefer {@code ...} to <code>...</code> / Fix deprecation warnings
2012-11-12 11:51:23 +09:00
Trustin Lee
d78f5a4f76
Optimize imports / Remove britspace
2012-11-12 09:51:59 +09:00
Trustin Lee
9746bb2036
Make a member field final wherever possible
2012-11-12 09:43:55 +09:00
Trustin Lee
4dce19b814
Replace a variable with a constant wherever possible
2012-11-12 09:43:14 +09:00
Trustin Lee
aa7cd691df
Remove redundant 'else' branches.
2012-11-12 09:31:40 +09:00
Trustin Lee
91a61d7f43
Remove unnecessary qualifiers
2012-11-12 09:11:48 +09:00
Trustin Lee
61d872d6e2
Suppress false-positive inspection warnings /
2012-11-12 09:05:16 +09:00
Trustin Lee
a07fb94fe7
Prefer "str".equals(var) to var.equals("str") / Add proper null checks
2012-11-12 08:59:54 +09:00
Trustin Lee
5d45880b9e
Fix a failing test
...
There's practically no way to test if the detected localhost is good if the user's environment is broken.
2012-11-10 08:50:21 +09:00
Trustin Lee
250c2545e6
Fix a compilation error (sorry!)
2012-11-10 08:48:00 +09:00
Trustin Lee
0b30bf613d
More robust localhost resolution
...
Ensure the resolved localhost can be bound and connected actually
2012-11-10 08:45:07 +09:00
Trustin Lee
b4f796c5e3
Use 'x' over "x" wherever possible / String.equals("") -> isEmpty()
2012-11-10 08:03:52 +09:00
Trustin Lee
f77f13faf0
Make classes static wherever possible
2012-11-10 07:32:53 +09:00
Trustin Lee
c77bac44a2
Fix unchecked warnings
2012-11-10 07:29:14 +09:00
Trustin Lee
23883d25ee
Remove various unnecessary qualifiers
2012-11-10 07:03:07 +09:00
Trustin Lee
958d04a42b
Remove redundant throws clauses / Suppress inspections for some false positives
2012-11-10 06:47:59 +09:00
Trustin Lee
a5a19efb4b
Remove unnecessary this, parenthesis, and semicolons
2012-11-10 02:27:33 +09:00
Trustin Lee
58ba0de659
Remove unnecessarily qualified static access
2012-11-10 01:32:21 +09:00
Trustin Lee
bbcb035246
Prefer isEmpty() over size() == 0 or length() == 0
2012-11-10 01:24:04 +09:00
Trustin Lee
e21dc5925d
Replace dynamic regular expressions with precompiled Patterns or new StringUtil.split()
2012-11-10 00:41:22 +09:00
Trustin Lee
96a769805b
Fix utility classes - missing final modifiers etc
2012-11-09 17:44:40 +09:00
Norman Maurer
313f777491
[maven-release-plugin] prepare for next development iteration
2012-11-05 23:08:39 +01:00
Norman Maurer
57da8222a4
[maven-release-plugin] prepare release netty-4.0.0.Alpha7
2012-11-05 23:08:28 +01:00
Norman Maurer
87cc67306f
[maven-release-plugin] prepare for next development iteration
2012-10-28 18:41:25 +01:00
Norman Maurer
7315490fca
[maven-release-plugin] prepare release netty-4.0.0.Alpha6
2012-10-28 18:41:17 +01:00
Norman Maurer
afc687436a
Revert "[maven-release-plugin] prepare release netty-4.0.0.Alpha6"
...
This reverts commit 95de4db0f1
.
2012-10-28 18:36:15 +01:00
Norman Maurer
16eb4ec713
Revert "[maven-release-plugin] prepare for next development iteration"
...
This reverts commit e3e0776c20
.
2012-10-28 18:35:47 +01:00
Norman Maurer
e3e0776c20
[maven-release-plugin] prepare for next development iteration
2012-10-28 13:06:07 +01:00
Norman Maurer
95de4db0f1
[maven-release-plugin] prepare release netty-4.0.0.Alpha6
2012-10-28 13:05:59 +01:00
Norman Maurer
71254e4bb5
Fix typos
2012-10-27 20:31:55 +02:00
Norman Maurer
5a8486e39c
Correct test
2012-10-27 19:57:59 +02:00
Olaf Bergner
ddd0734f43
Issue #65 : Provide distribution stats for HashedWheelTimer
...
First cut at implementing a generic abstraction layer for pluggable
metrics providers. This first cut is closely modeled after Yammer
Metrics. It remains to be seen if it is indeed flexibel enough to
support other providers.
Provide a default implementation of this new abstraction layer
based on Yammer Metrics.
Support pluggable Monitoring Providers using Java 6's ServiceLoader.
Use this new abstraction layer to provide stats on (a) number of
Timeouts executed per second and (b) distribution of absolute
deviation between scheduled and actual Timeout execution time in
HashedWheelTimer.
* Interface ValueDistributionMonitor, a monitor for histograms.
* Interface EventRateMonitor, a monitor for measuring the rate per time
unit of specific events.
* Interface ValueMonitor, a monitor for tracking an arbitrary datum's
current value
* Interface CounterMonitor, a monitor for incrementing/decrementing a
long value
* Interface MonitorRegistry, a registry for monitors that serves as the
interface between Netty and concrete metrics providers as e.g. Yammer
Metrics.
* Interface MonitorRegistryFactory, to be implemented by metrics
providers.
* Document how to use Netty's new monitoring support in javadocs for
package io.netty.monitor.
2012-10-25 23:10:15 +02:00
Trustin Lee
bd8c4fe050
[ #679 ] Netty 3.5.8 breaks app on startup with NPE
...
- Get system property when requested; do not cache it.
Conflicts:
common/src/main/java/io/netty/util/internal/SystemPropertyUtil.java
2012-10-24 10:42:10 -07:00
Norman Maurer
d9d8acf331
Fix NPE which accours when Netty was used in an Applet. See #669
2012-10-21 19:54:08 +02:00
Trustin Lee
b291d85757
Reduce synchronization overhead in HashedWheelTimer.start/stop()
2012-10-16 13:36:36 -07:00
Trustin Lee
820af50b63
[maven-release-plugin] prepare for next development iteration
2012-09-28 17:57:40 +09:00
Trustin Lee
595e1067c7
[maven-release-plugin] prepare release netty-4.0.0.Alpha5
2012-09-28 17:57:04 +09:00
norman
3295145e88
[maven-release-plugin] prepare for next development iteration
2012-09-13 10:40:52 +02:00
norman
42685759de
[maven-release-plugin] prepare release netty-4.0.0.Alpha4
2012-09-13 10:40:44 +02:00
Trustin Lee
37a80ddd08
Fix incorrect Java 7 detection
2012-09-03 16:15:58 +09:00
Trustin Lee
21c9c26ff8
Add SystemPropertyUtil.refresh()
2012-09-03 16:08:22 +09:00
Trustin Lee
f1c07dbf0b
Fix more compiler warnings
2012-09-01 17:00:24 +09:00
Trustin Lee
85f8247cef
Fix compiler warnings
2012-09-01 16:58:33 +09:00
Trustin Lee
00f737c3a4
Move system property access operations to SystemPropertyUtil
2012-09-01 16:52:47 +09:00
Trustin Lee
85f47d639f
Use class names instead of fields to detect Java version
...
.. because some use patched JDK with backported fields.
2012-09-01 13:08:44 +09:00
Trustin Lee
f2538a996d
[maven-release-plugin] prepare for next development iteration
2012-08-30 16:47:52 +09:00
Trustin Lee
628c5598b3
[maven-release-plugin] prepare release netty-4.0.0.Alpha3
2012-08-30 16:46:58 +09:00
Trustin Lee
68e86d8667
[ #576 ] UDP socket bind to specific IP does not receive broadcast on Linux
...
- Log a warning message if a user attempts to bind to a non-wildcard
address with SO_BROADCAST set on non-Windows
2012-08-30 15:50:55 +09:00
Trustin Lee
f78f4fc0ff
Remove a unused internal class
2012-08-28 16:22:43 +09:00
Trustin Lee
518c44a826
Remove a unused internal class
2012-08-28 16:21:45 +09:00
Trustin Lee
73720c422d
[maven-release-plugin] prepare for next development iteration
2012-08-21 15:41:04 +09:00
Trustin Lee
68bef8cb99
[maven-release-plugin] prepare release netty-4.0.0.Alpha2
2012-08-21 15:40:45 +09:00
Trustin Lee
0a43350c66
[maven-release-plugin] prepare for next development iteration
2012-08-21 14:41:45 +09:00
Trustin Lee
56211fee59
[maven-release-plugin] prepare release netty-4.0.0.Alpha2
2012-08-21 14:39:59 +09:00
Trustin Lee
a0e34fd93a
[maven-release-plugin] prepare for next development iteration
2012-08-21 14:13:38 +09:00
Trustin Lee
72ccf65093
[maven-release-plugin] prepare release netty-4.0.0.Alpha2
2012-08-21 14:13:17 +09:00
Norman Maurer
e2cafa9ec1
Merge pull request #544 from CruzBishop/testcases-1
...
More test cases (Round one)
2012-08-20 21:52:13 -07:00
Cruz Julian Bishop
11d9334dee
Adds some more test cases
...
This adds test cases to test against:
1: DefaultAttributeMap / DefaultAttribute (100%)
2: NetworkConstants (61.9%, functionally 100%)
3: StringUtil (50%, functionally 100%)
Signed-off-by: Cruz Julian Bishop <cruzjbishop@gmail.com>
2012-08-21 10:20:21 +10:00
Cruz Julian Bishop
b3a9ee1d71
Removes an unneeded assertion in UniqueNameTest
...
Signed-off-by: Cruz Julian Bishop <cruzjbishop@gmail.com>
2012-08-21 09:34:52 +10:00
Cruz Julian Bishop
6e3b9ed634
More test cases: Round one
...
This tests the following classes more:
1: InternalLoggerFactoryTest
Tests InternalLoggerFactory.getInstance(Class)
2: UniqueName
Paired with #543 , this achieves 100% code coverage with tests
Signed-off-by: Cruz Julian Bishop <cruzjbishop@gmail.com>
2012-08-21 09:32:00 +10:00
Cruz Julian Bishop
67e6c4bdca
Optimize UniqueName.compareTo(other) slightly
...
Replaces a manual check of IDs with one built in to Java
At least it makes the code smaller!
Signed-off-by: Cruz Julian Bishop <cruzjbishop@gmail.com>
2012-08-21 09:27:14 +10:00
Trustin Lee
0b11fb2ead
[ #531 ] Move io.netty.util.Signal to io.netty.util.internal
2012-08-18 18:50:54 +09:00
Trustin Lee
aef7a14852
Merge the pull request #432 manually
...
- Add UniqueNameTest
- Add JavaDoc for UniqueName
2012-08-17 12:42:30 +09:00
Cruz Julian Bishop
8d90f3adf6
Added a function to get a UniqueName's ID
...
This fixes #431
Signed-off-by: Cruz Julian Bishop <cruzjbishop@gmail.com>
2012-08-14 15:44:05 +10:00
norman
0daf37aae3
Remove unused classes. See #477
2012-07-30 08:05:25 +02:00
izstas
f3f40b2425
Added TRACE level to Internal Logger
2012-07-19 16:09:48 +04:00
Trustin Lee
d801459cb8
[maven-release-plugin] prepare for next development iteration
2012-07-10 23:11:33 +09:00
Trustin Lee
527f2f6c6e
[maven-release-plugin] prepare release netty-4.0.0.Alpha1
2012-07-10 23:10:48 +09:00
Trustin Lee
e157ea1a66
Allow a user use any type as a ReplayingDecoder state / AIO cleanup
...
- Removed VoidEnum because a user can now specify Void instead
- AIO: Prefer discardReadBytes to clear
- AIO: Fixed a potential bug where notifyFlushFutures() is not called
if flush() was requested with no outbound data
2012-07-09 20:40:43 +09:00
Trustin Lee
c0f4f75c6d
Use SOMAXCONN as the default backlog if possible
2012-07-07 15:05:10 +09:00
Trustin Lee
391fe71639
Remove unused classes / Make HashedWheelTimer not use ReusableIterator
2012-07-07 13:52:54 +09:00
Trustin Lee
cda2d6f5aa
No more mind-boggling ExternalResourceReleasable
2012-07-07 13:42:36 +09:00
Trustin Lee
8dc1f321cb
Remove unused classes in util.internal
2012-07-07 13:41:49 +09:00
Trustin Lee
9af7512c35
Use String.CASE_INSENSITIVE_ORDER instead of custom Comparator
2012-07-07 13:30:28 +09:00
Cruz Julian Bishop
04cf836cf0
Change Timeout.cancel() to return a boolean value, true on a successful cancel
...
As requested in the javadoc for HashedWheelTimer
2012-06-29 21:59:48 +10:00
Norman Maurer
33c42bee6d
Merge pull request #409 from Massive-Dynamics/network-constants-doc
...
Adds javadoc to NetworkConstants
2012-06-28 05:08:01 -07:00
Cruz Julian Bishop
1d1d7b2a95
Add documentation to NonReentrantLock
2012-06-28 16:37:41 +10:00
Cruz Julian Bishop
90e22644c3
Adds javadoc to NetworkConstants
...
Also renames some internal variables to be more understandable
No API changes! :)
2012-06-27 17:41:49 +10:00
Trustin Lee
6211e53e86
Code clean-up based on IntelliJ code analysis
2012-06-11 22:54:28 +09:00
Trustin Lee
8e55bfbc9c
Update dependency versions to the latest versions
2012-06-11 21:38:42 +09:00
Trustin Lee
5661bff062
Rename SocketAddresses to NetworkConstants
2012-06-09 08:44:56 +09:00
Trustin Lee
468a3228a4
Fit every line into 120 columns
2012-06-08 19:28:12 +09:00
Trustin Lee
1eced1e9e3
Update license headers
2012-06-04 13:31:44 -07:00
Trustin Lee
b47b54df37
Get loopback interface more accurately
...
- Previous code returned wlan0 on my machine.
2012-06-03 03:07:42 -07:00
Trustin Lee
ada61d4985
Ported multicast test / Fixed bugs in NioDatagramChannelConfig
2012-06-03 02:57:52 -07:00
Trustin Lee
e2a617b07b
Fix a bug where DetectionUtil.hasUnsafe() returns a wrong value
2012-06-01 18:25:56 -07:00
Trustin Lee
468918227a
Remove unnecessary parameter in AttributeKey and ChannelOption
...
- Removed UniqueKey which does nothing
- The valueType parameter was not needed at all because we do not need
type information in runtime at all.
2012-05-31 16:03:57 -07:00
Trustin Lee
77274ae743
Automated code clean-up
2012-05-31 12:03:01 -07:00
Trustin Lee
0cd766df30
Move HTTP multipart classes to its own package / Clean-up
...
- Move CaseIgnoringComparable to netty-common
- Add HttpConstants
2012-05-31 11:32:42 -07:00
Norman Maurer
59b5c3a328
Add workaround to let the sleep work correctly in windows too. See #356
...
Conflicts:
common/src/main/java/io/netty/util/HashedWheelTimer.java
common/src/main/java/io/netty/util/internal/DetectionUtil.java
2012-05-30 19:28:42 -07:00
Trustin Lee
1d7067719b
Allow to disable the use of sun.misc.Unsafe ( #272 )
...
- Contributed by @normanmaurer
- Added io.netty.noUnsafe property
2012-05-30 16:38:23 -07:00
Trustin Lee
42abb6df3a
QueueFactory cleanup
...
- Really attempt to create a queue to determine LTQ can be initialized
in runtime, and cache the result
- Remove unnecessary Class<T> parameter in createQueue()
- Remove unused createQueue(Collection)
2012-05-30 16:19:22 -07:00
Trustin Lee
65c526c1c8
Use a logger in ZStream
...
- Contributed by @CruzBishop
2012-05-30 15:39:40 -07:00
Trustin Lee
6dee9f7b0c
Use a logger in SocketAddresses
...
- Contributed by @CruzBishop
2012-05-30 15:37:53 -07:00
Trustin Lee
24eb85cdf5
Fix indentation
2012-05-30 14:16:39 -07:00
Trustin Lee
e10d113678
Do not report Android as Java 7
2012-05-30 13:20:32 -07:00
Trustin Lee
c6f3b5762e
Implement NIO datagram transport with the new API
...
- AbstractChannel now handles flushing a message buffer
- Cleaned up DatagramChannel interface
- Removed ProtocolFamily because a user can create an NIO
DatagramChannel and specify it as a constructor parameter
- UniqueName and UniqueKey constructors became public so that
I don't need to create a subclass every time.
2012-05-24 08:57:10 -07:00
Trustin Lee
251a18160c
Move VoidEnum to util
2012-05-18 14:34:42 +09:00
Trustin Lee
dbd973d825
Introduce UniqueName, UniqueKey, and Signal
...
- UniqueKey removes the duplication between ChannelOption and
AttributeKey
- UniqueName provides common name collision check for AttributeKey,
ChannelOption, and Signal.
- Replaced ReplayError with Signal
2012-05-18 14:30:42 +09:00
Trustin Lee
894ececbb7
Convert DOS line ending to UNIX line ending
2012-05-15 17:14:02 +09:00
Trustin Lee
dd2e36e5d9
Remove unused or unmaintainable internal classes
2012-05-15 17:10:54 +09:00
Trustin Lee
91c02c2823
Improve AttributeKey.toString()
2012-05-13 00:40:52 +09:00
Trustin Lee
83026f29a4
Make EventLoop a ScheduledExecutorService
...
- SingleThreadEventLoop now implements ScheduledExecutorService
- Scheduled tasks are automatically fetched into taskQueue by
pollTask() and takeTask()
- Removed MapBackedSet because Java 6 provides it
2012-05-11 20:19:57 +09:00
Trustin Lee
1b5960a1a8
Add ClientChannelConfig and move connectTimeoutMillis there
2012-05-01 18:17:12 +09:00
Trustin Lee
0f42719e9b
Add DefaultAttributeMap
2012-04-29 23:08:59 +09:00
Trustin Lee
c7bd0b41e6
Remove unnecessary parameter
2012-04-12 17:54:56 +09:00
Trustin Lee
22a815eaf8
Revamp channel handler API
...
- Merged LifeCycleAwareChannelHandler into ChannelHandler
- Replaced ChannelUpstreamHandler and ChannelDownstreamHandler with
ChannelReader and ChannelWriter
- These two new interfaces are much more type-safe than its ancestor.
- Simplified channel state model as described in #68
- Handler creates send/receive buffer.
- Previously, Netty created them, but it led to more memory copies and
inflexibility. I'm going to allow a handler to create a bounded
queue for example.
- It currently uses Queue<T> but I'll define a new interface and make
ChannelBuffer implement it (e.g. Queue<Byte>)
- Introduced AttributeMap which replaces attachments in Channel and
ChannelHandlerContext and ChannelLocal
2012-04-12 17:39:01 +09:00
norman
05204025cc
Fix regression in Zlib which was introduced while refactoring the code. See #255
2012-04-11 10:55:04 +02:00
Trustin Lee
fd0b0a4e2b
Code cleanup
2012-03-30 12:48:28 +09:00
Trustin Lee
cf02ad2a1e
Add DetectionUtil which replaces UnsafeDetectUtil / Improve SpdyHeaderBlockJZlibDecompressor
2012-03-07 19:54:44 +09:00
Norman Maurer
520bf78f18
Surpress some warnings
2012-03-03 19:33:02 +01:00
norman
5d99d57cab
Fix checkstyle problems
2012-03-02 13:28:54 +01:00
Eric Charles
bb6d140220
Fix compilation issue due to jdk bug Inference fails for type variable return constraint, see http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6302954
2012-02-20 10:28:40 +01:00
norman
479def20bd
Check if logging level is enabled before log. See #192
2012-02-17 10:37:41 +01:00
Trustin Lee
cd69bd4e2c
Backport the pull request #174 to fix #163
2012-02-02 15:52:06 +09:00
Ngoc Dao
4396b421f1
Fix style check error for UnsafeDetectUtil.java
2012-01-26 23:01:51 +09:00
Johan Rask
fbb1432e8e
UnsafeDetectUtil also checks that the Unsafe class has the field theUnsafe to make it work on Android platform.
2012-01-19 16:14:00 +01:00
Trustin Lee
303c1b5f79
Overall cleanup / Add lost old jzlib headers
2012-01-13 17:41:18 +09:00
Trustin Lee
ebfc4513e0
Apply checkstyle to the build
...
Please note that the build will fail at the moment due to various checkstyle
violations which should be fixed soon
2012-01-11 20:16:14 +09:00
Trustin Lee
8663716d38
Issue #60 : Make the project multi-module
...
Split the project into the following modules:
* common
* buffer
* codec
* codec-http
* transport
* transport-*
* handler
* example
* testsuite (integration tests that involve 2+ modules)
* all (does nothing yet, but will make it generate netty.jar)
This commit also fixes the compilation errors with transport-sctp on
non-Linux systems. It will at least compile without complaints.
2011-12-28 19:44:04 +09:00