Trustin Lee
54db9ec725
Use StringUtil.simpleClassName(..) instead of Class.getSimpleName() where necessary
...
- Class.getSimpleName() doesn't render anonymous classes very well
- + some minor cleanup
2013-11-04 19:46:15 +09:00
Trustin Lee
0d1567da0b
Fix an API bug in the JavassistTypeParameterMatcherGenerator where some of its methods are not static
...
- Related issue: #1402
2013-11-04 18:57:02 +09:00
Norman Maurer
16d32ed33a
[ #1959 ] Proposed fix to correctly handle timeouts that overflow the ticks in the wheel
2013-10-31 06:27:17 +01:00
Trustin Lee
af1ac4ca0c
Checkstyle
2013-10-25 21:04:10 +09:00
Trustin Lee
1c2352e6a0
Replace constructor calls on UniqueName and its subtypes with valueOf() wherever possible
2013-10-25 20:58:53 +09:00
Trustin Lee
8986245b47
Deprecate UniqueName and its subtypes' constructors / Add valueOf() for easier future migration.
2013-10-25 20:53:47 +09:00
Norman Maurer
ceab146b54
[maven-release-plugin] prepare for next development iteration
2013-10-21 07:43:42 +02:00
Norman Maurer
27a89d6032
[maven-release-plugin] prepare release netty-4.0.11.Final
2013-10-21 07:41:49 +02:00
Trustin Lee
e307979a0d
Fix the problem where HashedWheelTimer puts a timeout into an incorrect place
...
- the stopIndex of a timeout is calculated based on the start time of the worker thread and the current tick count for greater accuracy
2013-10-07 17:46:19 +09:00
Norman Maurer
d7da19f745
[maven-release-plugin] prepare for next development iteration
2013-10-02 15:48:52 +02:00
Norman Maurer
d35768ae11
[maven-release-plugin] prepare release netty-4.0.10.Final
2013-10-02 15:48:45 +02:00
Norman Maurer
3739ee90cf
[ #1885 ] Correctly close leak detected also on non started HashedWheelTimer
2013-10-02 06:45:12 +02:00
Norman Maurer
ffab456aca
Bump up version to reflect correct one
2013-09-09 11:20:12 +02:00
Norman Maurer
363531caf9
[maven-release-plugin] rollback the release of netty-4.0.9.Final
2013-09-06 09:18:34 +02:00
Norman Maurer
9d53573ee8
[maven-release-plugin] prepare for next development iteration
2013-09-06 09:17:15 +02:00
Norman Maurer
3aa77f54f7
[ #1792 ] PlatformDependent.freeDirectBuffer(..) now respect hasUnsafe()
2013-08-28 07:23:37 +02:00
Norman Maurer
2e39b25cd4
[maven-release-plugin] prepare for next development iteration
2013-08-26 12:01:03 +02:00
Norman Maurer
b67659a866
[maven-release-plugin] prepare release netty-4.0.8.Final
2013-08-26 12:00:54 +02:00
Trustin Lee
8142aae765
Improve the randomness of ThreadLocalRandom for all platform
...
- Fixes #1765
Java 6 did a poor job of generating seedUniquifier unlike 7, so I implemented platform-independent seedUniquifier generator with configurability
2013-08-24 12:25:50 +09:00
Norman Maurer
1d3560e389
[maven-release-plugin] prepare for next development iteration
2013-08-08 13:53:28 +02:00
Norman Maurer
8e97e6c461
[maven-release-plugin] prepare release netty-4.0.7.Final
2013-08-08 13:53:19 +02:00
Norman Maurer
b456adf404
[ #1709 ] Correctly detect that Unsafe.copyMemory is missing
2013-08-08 11:57:05 +02:00
Norman Maurer
3f2000fa3a
[maven-release-plugin] prepare for next development iteration
2013-08-01 10:59:55 +02:00
Norman Maurer
3f70d5caa4
[maven-release-plugin] prepare release netty-4.0.6.Final
2013-08-01 10:59:46 +02:00
Norman Maurer
e3410680de
[maven-release-plugin] prepare for next development iteration
2013-07-31 20:08:14 +02:00
Norman Maurer
0e124583d6
[maven-release-plugin] prepare release netty-4.0.5.Final
2013-07-31 20:08:05 +02:00
Norman Maurer
2b3ac3d446
Factor out the PendingWrite class and put it in internal package. Make use of it in SslHandler and ChunkedWriteHandler to reduce GC-pressure
2013-07-25 12:36:24 +02:00
Norman Maurer
0bc7d3f5d1
[maven-release-plugin] prepare for next development iteration
2013-07-23 10:04:23 +02:00
Norman Maurer
ca00182797
[maven-release-plugin] prepare release netty-4.0.4.Final
2013-07-23 10:04:14 +02:00
Norman Maurer
f4e128b807
[ #1612 ] No need for volatile as it is not needed to be precise
2013-07-23 07:11:11 +02:00
Trustin Lee
764741c5ce
Change the contract of ResourceLeakDetector.open() so that unsampled resources are recycled
...
- This also fixes the problem introduced while trying to implement #1612 (Allow to disable resource leak detection).
2013-07-23 14:06:58 +09:00
Trustin Lee
ec370e1d97
Remove an unnecessary empty line
2013-07-23 13:30:27 +09:00
Trustin Lee
70e7bcc963
Remove ResourceLeakDetector.ENABLED / Replace ResourceLeakDetector.is/setDisabled() with is/setEnabled()
...
- Related: #1612
2013-07-23 13:28:05 +09:00
Norman Maurer
2bbad8e4e5
[ #1612 ] Allow to disable resource leak detection via API
2013-07-22 20:55:49 +02:00
kerr
ada07cb9e0
Fix types in javadocs
2013-07-22 19:14:36 +02:00
Jeff Pinner
6c9c151d66
minor documentation cleanup
2013-07-20 08:01:14 +02:00
Norman Maurer
a4d0341ea1
[ #1614 ] Fix bug in SingleThreadEventExecutor which prevent scheduled tasks to get executed
...
The problem was that with OioSocketChannel there was always a read Task in the taskQueue and with the old logic it never tried to execute scheduled tasks if there was at least one task in the taskQueue.
2013-07-19 12:30:40 +02:00
Trustin Lee
762adfcb69
Update HttpStaticFileServer example / Fix bugs related with progress notification
...
- Fix a bug in DefaultProgressivePromise.tryProgress() where the notification is dropped
- Fix a bug in AbstractChannel.calculateMessageSize() where FileRegion is not counted
- HttpStaticFileServer example now uses zero copy file transfer if possible.
2013-07-19 13:21:32 +09:00
Trustin Lee
f96a8e5951
Implement ProgressivePromise notification in NIO byte channels and ChunkedWriteHandler
...
- Refine the contract of GenericProgressiveFutureListener.
- Negative 'total' now means 'unknown', which is useful for ChunkedWriteHandler.
2013-07-19 12:53:23 +09:00
Trustin Lee
ac6c3b85f2
Simplify
2013-07-18 14:49:58 +09:00
Trustin Lee
28b8573b2a
Fix a potential race condition where the worker thread of GlobalEventExecutor terminates with a pending task
...
- Potential fix for the hanging SpdyFrameDecoderTest
2013-07-18 14:49:22 +09:00
Trustin Lee
57d591d188
Fix checkstyle
2013-07-18 14:05:41 +09:00
Trustin Lee
0f2542ded5
Fix StackOverflowError raised by DefaultPromise.notifyListeners() when ImmediateEventExecutor was used
...
- Fixed #1602
2013-07-18 14:03:48 +09:00
Trustin Lee
b130ee6a6c
[maven-release-plugin] prepare for next development iteration
2013-07-18 11:17:42 +09:00
Trustin Lee
10d395e829
[maven-release-plugin] prepare release netty-4.0.3.Final
2013-07-18 11:17:31 +09:00
Trustin Lee
ef17a9c5d4
Grammar - Fixes #1598
2013-07-18 10:49:37 +09:00
Norman Maurer
fc7c950b08
[maven-release-plugin] prepare for next development iteration
2013-07-17 15:58:36 +02:00
Norman Maurer
bbbf72359e
[maven-release-plugin] prepare release netty-4.0.2.Final
2013-07-17 15:58:28 +02:00
Trustin Lee
e53738f38c
Less confusing leak warning message
2013-07-17 21:29:03 +09:00
Trustin Lee
57eb531eb8
[maven-release-plugin] prepare for next development iteration
2013-07-16 17:16:10 +09:00
Trustin Lee
76cefcc421
[maven-release-plugin] prepare release netty-4.0.1.Final
2013-07-16 17:15:54 +09:00
Norman Maurer
5297eba280
[maven-release-plugin] prepare for next development iteration
2013-07-15 15:48:15 +02:00
Norman Maurer
c5d8af446a
[maven-release-plugin] prepare release netty-4.0.0.Final
2013-07-15 15:48:05 +02:00
Trustin Lee
246a3ecdcb
[maven-release-plugin] prepare for next development iteration
2013-07-15 20:58:33 +09:00
Trustin Lee
e8fd209115
[maven-release-plugin] prepare release netty-4.0.0.Final
2013-07-15 20:58:21 +09:00
Norman Maurer
9b9f621690
Make DefaultFutureListeners package private
2013-07-15 09:33:33 +02:00
Norman Maurer
7254a5c2c6
Just some tiny javadocs optimizations
2013-07-14 16:02:03 +02:00
Norman Maurer
3a4c7c9c93
Also dissallow null elements on set
2013-07-12 08:25:19 +02:00
Norman Maurer
98c6a5810a
Just tiny optimization to avoid object creation
2013-07-12 08:23:01 +02:00
Norman Maurer
c38db2afe3
Dissallow adding null elements into RecyclableArrayList
2013-07-12 08:01:31 +02:00
Norman Maurer
da5c6add14
Rename CodecOutput to RecyclableArrayList and move it to internal package.
...
* Also reuse it in SslHandler
2013-07-10 07:50:26 +02:00
Norman Maurer
9c1b31d20a
[ #1535 ] Remove Channel.id() and so fix the possible leakage of the previous used Channel id map
...
The user can still use Channel.hashCode() for logging. It's just not 100% unique but should be good enough for most cases
2013-07-08 14:07:18 +02:00
Trustin Lee
1fa087ecbf
Fix checkstyle
2013-07-07 12:29:33 +09:00
Trustin Lee
ff97d1db29
Fix checkstyle
2013-07-07 12:29:11 +09:00
Trustin Lee
70df5a6f63
Add ThreadLocalRandom back because it's used by ForkJoinPool now.
2013-07-07 12:26:48 +09:00
Trustin Lee
378626b31f
Port ConcurrentHashMapV8 again to get the recent upstream fixes
2013-07-07 12:22:59 +09:00
Norman Maurer
ec5e793a2f
[maven-release-plugin] prepare for next development iteration
2013-07-02 11:41:18 +02:00
Norman Maurer
ca73eaef0d
[maven-release-plugin] prepare release netty-4.0.0.CR9
2013-07-02 11:41:09 +02:00
Norman Maurer
830c559405
[maven-release-plugin] rollback the release of netty-4.0.0.CR9
2013-07-02 11:34:29 +02:00
Norman Maurer
66a16b133c
[maven-release-plugin] prepare release netty-4.0.0.CR9
2013-07-02 10:45:12 +02:00
Trustin Lee
7e3a01cc51
[maven-release-plugin] prepare for next development iteration
2013-07-02 10:26:48 +09:00
Trustin Lee
149db34c19
[maven-release-plugin] prepare release netty-4.0.0.CR8
2013-07-02 10:26:32 +09:00
Trustin Lee
4b11aff08f
Less confusing log messages for system properties
...
- Fixes #1502
2013-07-02 09:23:29 +09:00
Norman Maurer
43da224978
Only log about not avaible JavaAssist in debug level
2013-07-01 11:46:34 +02:00
Trustin Lee
613547b0b9
[maven-release-plugin] prepare for next development iteration
2013-06-28 22:15:33 +09:00
Trustin Lee
a6abd2feb2
[maven-release-plugin] prepare release netty-4.0.0.CR7
2013-06-28 22:15:20 +09:00
Trustin Lee
a6795d7780
[maven-release-plugin] prepare for next development iteration
2013-06-25 11:07:15 +09:00
Trustin Lee
2221446425
[maven-release-plugin] prepare release netty-4.0.0.CR6
2013-06-25 11:07:15 +09:00
Trustin Lee
63403884f7
Make sure PlatformDependent.isRoot0() works fine in Android
...
.. by swallowing ErrnoException raised by process.destroy().
Fixes #1472
2013-06-25 11:07:13 +09:00
Trustin Lee
32aa661604
Make sure PlatformDependent.maxDirectMemory() works on Android
...
- Fixes #1451
2013-06-25 11:07:13 +09:00
Trustin Lee
952e7bbec7
Remove cruft
2013-06-25 11:07:13 +09:00
Trustin Lee
6f86f38ae9
Fix IllegalStateException triggered by a successful connection attempt
...
- Fixes #1467
- Provide more information about the tasks and promises on exception for easier debugging
2013-06-25 11:07:13 +09:00
Norman Maurer
6a9f965f9b
Introduce new utility class calles ReferenceCountUtil and move utility methods from ByteBufUtil to it.
...
The ones in ByteBufUtil were marked as @deprecated
2013-06-14 07:07:33 +02:00
Trustin Lee
a5871dfd86
[maven-release-plugin] prepare for next development iteration
2013-06-14 12:55:15 +09:00
Trustin Lee
f5377cc8d7
[maven-release-plugin] prepare release netty-4.0.0.CR5
2013-06-14 12:55:05 +09:00
Trustin Lee
0da48e7e7f
Determine the default number of heap/direct arenas of PooledByteBufAllocator conservatively
...
- Fixes #1445
- Add PlatformDependent.maxDirectMemory()
- Ensure the default number or arenas is decreased if the max memory of the VM is not large enough.
2013-06-14 12:14:45 +09:00
Trustin Lee
e5ca6518ba
[maven-release-plugin] prepare for next development iteration
2013-06-13 17:02:32 +09:00
Trustin Lee
381063e09c
[maven-release-plugin] prepare release netty-4.0.0.CR4
2013-06-13 17:02:19 +09:00
Trustin Lee
ca1a37a3b3
Log correct system property name
2013-06-13 14:21:56 +09:00
Trustin Lee
32bf3054e1
Prefer direct buffer by default
...
- Because it's faster in most cases thanks to unsafe
2013-06-13 14:21:26 +09:00
Trustin Lee
6d1cd0d0cd
ReferenceCountException -> IllegalReferenceCountException
2013-06-13 14:00:15 +09:00
Trustin Lee
175526b6bd
Move ReferenceCounted and AbstractReferenceCounted to io.netty.util
...
- Fixes #1441
- Also move and rename IllegalBufferAccessException to ReferenceCountException
- Prettier reference count exception messages
2013-06-13 13:14:21 +09:00
Trustin Lee
2320a13a4e
Better use NoOpTypeParameterMatcher as a class path source
...
.. because we tries to load it really
2013-06-12 08:24:36 +09:00
Trustin Lee
be695636d2
Make JavassistTypeParameterMatcherGenerator.generate() public
2013-06-12 08:17:17 +09:00
Trustin Lee
3fc6e02f8b
Allow appending classpath to the ClassPool of JavassistTypeParameterMatcherGenerator
...
- Fixes : #1402
- Make JavassistTypeParameterMatcherGenerator public
- Add appendClassPath()
2013-06-12 08:09:11 +09:00
Trustin Lee
79e236dfc2
Make EventExecutor.shutdownGracefully() return Future
...
- Also added EventExecutor.terminationFuture()
- Also fixed type signature problem with Future.add/removeListener()
- Related issue: #1389
2013-06-12 08:00:54 +09:00
Trustin Lee
fd0084ecfa
Remove the constructors that uses ImmediateEventExecutor from DefaultChannelGroup
...
.. which is incorrect in my opinion.
+ minor cleanup
2013-06-12 06:50:38 +09:00
Trustin Lee
1749210985
Add GlobalEventExecutor
...
- Related issue: #1389
- Also extracted SingleThreadEventExecutor.ScheduledFutureTask into a top level class for a reuse
2013-06-12 06:40:01 +09:00
Trustin Lee
786501d972
Remove unused thread local and its getter
2013-06-12 05:03:55 +09:00
Trustin Lee
c3034c8964
Implement the cancellation of connection attmpe for NIO and OIO transport
...
- Related issue: #1432
- Also added test cases to validate the implementation
2013-06-11 18:46:39 +09:00
Trustin Lee
41af9a1eb3
Implement cancellation properly for Promise/Future
...
- Related issue: #1432
- Add Future.isCancellable()
- Add Promise.setUncancellable() which is meant to be used for the party that runs the task uncancellable once started
- Implement Future.isCancelled() and Promise.cancel(boolean) properly
2013-06-11 17:46:21 +09:00
Trustin Lee
7234a00f0d
Add ResourceLeakDetector.ENABLED
...
.. to provide a way to check if resource leak detection was enabled programmatically.
2013-06-10 19:13:06 +09:00
Trustin Lee
9449efb9b2
Optimize Recycler.Stack
...
- No need to use a deque at all
- Increase the initial capacity so that there's no practical chance of capacity expansion
2013-06-10 16:38:57 +09:00
Wolfgang Profer
d9af92f354
[ #1430 ] Fixed byte order problem on little endian platforms that support Unsafe but not unaligned memory access.
2013-06-10 09:24:22 +02:00
Trustin Lee
14158070bf
Revamp the core API to reduce memory footprint and consumption
...
The API changes made so far turned out to increase the memory footprint
and consumption while our intention was actually decreasing them.
Memory consumption issue:
When there are many connections which does not exchange data frequently,
the old Netty 4 API spent a lot more memory than 3 because it always
allocates per-handler buffer for each connection unless otherwise
explicitly stated by a user. In a usual real world load, a client
doesn't always send requests without pausing, so the idea of having a
buffer whose life cycle if bound to the life cycle of a connection
didn't work as expected.
Memory footprint issue:
The old Netty 4 API decreased overall memory footprint by a great deal
in many cases. It was mainly because the old Netty 4 API did not
allocate a new buffer and event object for each read. Instead, it
created a new buffer for each handler in a pipeline. This works pretty
well as long as the number of handlers in a pipeline is only a few.
However, for a highly modular application with many handlers which
handles connections which lasts for relatively short period, it actually
makes the memory footprint issue much worse.
Changes:
All in all, this is about retaining all the good changes we made in 4 so
far such as better thread model and going back to the way how we dealt
with message events in 3.
To fix the memory consumption/footprint issue mentioned above, we made a
hard decision to break the backward compatibility again with the
following changes:
- Remove MessageBuf
- Merge Buf into ByteBuf
- Merge ChannelInboundByte/MessageHandler and ChannelStateHandler into ChannelInboundHandler
- Similar changes were made to the adapter classes
- Merge ChannelOutboundByte/MessageHandler and ChannelOperationHandler into ChannelOutboundHandler
- Similar changes were made to the adapter classes
- Introduce MessageList which is similar to `MessageEvent` in Netty 3
- Replace inboundBufferUpdated(ctx) with messageReceived(ctx, MessageList)
- Replace flush(ctx, promise) with write(ctx, MessageList, promise)
- Remove ByteToByteEncoder/Decoder/Codec
- Replaced by MessageToByteEncoder<ByteBuf>, ByteToMessageDecoder<ByteBuf>, and ByteMessageCodec<ByteBuf>
- Merge EmbeddedByteChannel and EmbeddedMessageChannel into EmbeddedChannel
- Add SimpleChannelInboundHandler which is sometimes more useful than
ChannelInboundHandlerAdapter
- Bring back Channel.isWritable() from Netty 3
- Add ChannelInboundHandler.channelWritabilityChanges() event
- Add RecvByteBufAllocator configuration property
- Similar to ReceiveBufferSizePredictor in Netty 3
- Some existing configuration properties such as
DatagramChannelConfig.receivePacketSize is gone now.
- Remove suspend/resumeIntermediaryDeallocation() in ByteBuf
This change would have been impossible without @normanmaurer's help. He
fixed, ported, and improved many parts of the changes.
2013-06-10 16:10:39 +09:00
Norman Maurer
81e3c1719a
[maven-release-plugin] prepare for next development iteration
2013-05-18 09:59:13 +02:00
Norman Maurer
99caefdf39
[maven-release-plugin] prepare release netty-4.0.0.CR3
2013-05-18 09:57:11 +02:00
Norman Maurer
abb4e20d0b
[ #1369 ] Move ImmediateEventExecutor to common and let it access via a static
...
* Also fix a bug there to return a correct implementation of ProgressivPRomi
ImmediateEventExecutor
2013-05-17 21:35:01 +02:00
Norman Maurer
a8830aee42
[ #1369 ] Move ImmediateEventExecutor to common and let it access via a static public field
...
* Also fix a bug there to return a correct implementation of ProgressivPRomise to work with the
ImmediateEventExecutor
2013-05-17 21:19:59 +02:00
Trustin Lee
c406647bb2
Use short for DefaultPromise.waiters for less memory consumption
2013-05-09 08:51:01 +09:00
Norman Maurer
c43950a03f
[maven-release-plugin] prepare for next development iteration
2013-05-08 18:19:51 +02:00
Norman Maurer
ae76502040
[maven-release-plugin] prepare release netty-4.0.0.CR2
2013-05-08 18:19:38 +02:00
Norman Maurer
e48bc9c086
[ #1344 ] Fix race condition in DefaultChannelPromise / DefaultChannelProgressivePromise which could lead to listeners that are not notified
2013-05-08 10:14:28 +02:00
Norman Maurer
d8a250aba0
Log with info level and not with warn
2013-05-02 08:43:29 +02:00
Trustin Lee
1e0c83db23
Introduce AddressedEnvelope message type for generic representation of an addressed message
...
- Fixes #1282 (not perfectly, but to the extent it's possible with the current API)
- Add AddressedEnvelope and DefaultAddressedEnvelope
- Make DatagramPacket extend DefaultAddressedEnvelope<ByteBuf, InetSocketAddress>
- Rename ByteBufHolder.data() to content() so that a message can implement both AddressedEnvelope and ByteBufHolder (DatagramPacket does) without introducing two getter methods for the content
- Datagram channel implementations now understand ByteBuf and ByteBufHolder as a message with unspecified remote address.
2013-05-01 17:04:43 +09:00
Trustin Lee
bc96c4b7b3
Fix a bug where SingleThreadEventExecutor sets its internal state flag too early during termination
2013-05-01 16:56:34 +09:00
Trustin Lee
23d0178494
Introduce EventExecutor.shutdownGracefully() that deprecates shutdown()
...
shutdownGracefully() provides two optional parameters that give more
control over when an executor has to be shut down.
- Related issue: #1307
- Add shutdownGracefully(..) and isShuttingDown()
- Deprecate shutdown() / shutdownNow()
- Replace lastAccessTime with lastExecutionTime and update it after task
execution for accurate quiet period check
- runAllTasks() and runShutdownTasks() update it automatically.
- Add updateLastExecutionTime() so that subclasses can update it
- Add a constructor parameter that tells not to add an unncessary wakeup
task in execute() if addTask() wakes up the executor thread
automatically. Previously, execute() always called wakeup() after
addTask(), which often caused an extra dummy task in the task queue.
- Use shutdownGracefully() wherever possible / Deprecation javadoc
- Reduce the running time of SingleThreadEventLoopTest from 40s to 15s
using custom graceful shutdown parameters
- Other changes made along with this commit:
- takeTask() does not throw InterruptedException anymore.
- Returns null on interruption or wakeup
- Make sure runShutdownTasks() return true even if an exception was
raised while running the shutdown tasks
- Remove unnecessary isShutdown() checks
- Consistent use of SingleThreadEventExecutor.nanoTime()
Replace isWakeupOverridden with a constructor parameter
2013-05-01 10:52:38 +09:00
Trustin Lee
8a4e708847
Fix 'unsupported address type error' in UDP tests / Fix checkstyle
2013-04-24 17:43:32 +09:00
Trustin Lee
cee0dc6f81
Add IPv4 and IPv6 specific localhost constants to NetUtil
2013-04-24 17:32:42 +09:00
Trustin Lee
c37b53fdd1
Format code
2013-04-24 11:33:19 +09:00
Trustin Lee
656d7ca054
Improve localhost / local interface detection mechanism in NetUtil
...
- Do not attempt to validate localhost by binding a socket because it can fail when SecurityManager is in use
- Find loopback interface first and get address from there instead of getting loopback address from InetAddress.getLocalHost() (because it's more reliable)
- Instead of throwing an Error, just log and fall back to 127.0.0.1 while determining localhost address
2013-04-24 11:28:42 +09:00
Trustin Lee
b5989e2449
Reduce exception instantiation overhead in SslHandler / Reduce unnecessary empty array creation
...
- Added EmptyArrays as an internal utility class
2013-04-24 09:32:53 +09:00
Trustin Lee
7452d05fa6
Add some logging for easier diagnosis in NetUtil
...
.. + formatting
2013-04-23 22:57:29 +09:00
Trustin Lee
be1426a220
Fix incorrect log level in NetUtil
2013-04-23 22:53:26 +09:00
Norman Maurer
9a5f45a0c1
[ #1297 ] Make sure ResourceLeakDetector.open(...) is only used after constructing was successful
2013-04-22 10:07:22 +02:00
Trustin Lee
6bb00cea6f
Fix failures in testsuite-osgi-deps
...
- Make only netty-common depend on javassist at compile scope, and
all others at test scope
2013-04-19 05:57:53 +09:00
Trustin Lee
7ee571968c
Use progress + total instead of delta
...
.. because there is sometimes a task whose total is only a rough
estimation
2013-04-15 20:11:02 +09:00
Trustin Lee
e69033a4c3
Replace TransferFuture(Listener) with (Channel)ProgressiveFuture(Listener)
...
- Now works without the transport package
- Renamed TransferFuture to ProgressiveFuture and ChannelProgressiveFuture / same for promises
- ProgressiveFutureListener now extends GenericProgressiveFutureListener and GenericFutureListener (add/removeTransferListener*() were removed)
- Renamed DefaultEventListeners to DefaultFutureListeners and only accept GenericFutureListeners
- Various clean-up
2013-04-15 15:26:20 +09:00
Trustin Lee
391c011764
Renames and typos
2013-04-15 11:03:59 +09:00
kerr
713b200adf
[ #1244 ] Support ChannelTransferPromise for sendFile
2013-04-14 21:22:03 +02:00
Trustin Lee
2600f46fd7
Fix checkstyle
2013-04-11 17:54:20 +09:00
Trustin Lee
15ac4127e4
Remove @Ignore and add expected / Fix inspector warnings
2013-04-11 17:29:37 +09:00
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