Commit Graph

4749 Commits

Author SHA1 Message Date
Trustin Lee
dc13b68632 Make sure ChannelHandler.handlerRemoved() is always invoked
- Fixes #1366: No elegant way to free non-in/outbound buffers held by a handler
- handlerRemoved() is now also invoked when a channel is deregistered, as well as when a handler is removed from a pipeline.
- A little bit of clean-up for readability
- Fix a bug in forwardBufferContentAndRemove() where the handler buffers are not freed (mainly because we were relying on channel.isRegistered() to determine if the handler has been removed from inside the handler.
- ChunkedWriteHandler.handlerRemoved() is unnecessary anymore because ChannelPipeline now always forwards the content of the buffer.
2013-05-16 19:32:39 +09:00
Trustin Lee
670d3f53a8 Make uninitialization code in DefaultChannel easier to understand
.. by fixing bad / outdated method names
2013-05-16 16:18:01 +09:00
Norman Maurer
a331c87a7a [#1358] Fix Encoding of multipart attribute names and filenames for non ASCII chars 2013-05-14 15:24:01 +02:00
Norman Maurer
dbad71366d [#1359] Fix incorrect response when 100-continue is needed 2013-05-14 14:35:06 +02:00
Andrei.Pozolotin
feab823bfb use barchardt-udt 2.3.0 release. This fixes #1290 and 1329 2013-05-14 06:54:46 +02:00
Andrei Pozolotin
57a459d970 updated udt and connection test 2013-05-14 06:46:07 +02:00
Edwin Mol
55df4fc246 added UDT client server testcase 2013-05-14 06:45:58 +02:00
Edwin Mol
5c187ca02d added UDT Client-Server Test 2013-05-14 06:45:36 +02:00
Trustin Lee
c3b0a9c6b8 Fix duplicate invocation of same plugins due to needless fork of maven-source-plugin
- Fixes #1355
2013-05-13 16:03:00 +09:00
Norman Maurer
f4ad6173ca [#1299] Make sure a handshake error will not trigger fireExceptionCaught two times 2013-05-12 17:01:12 +02:00
Norman Maurer
3268d6fc2e [#1352] WebSocketFrameAggregator should only throw TooLongFrameException once per complete frame 2013-05-09 21:12:36 +02:00
Norman Maurer
c8de4f03f1 [#1007] Make sure the current message is only reset on LastHttpContent 2013-05-09 20:11:34 +02:00
Norman Maurer
268b059ebb [#1007] HttpObjectAggregator should only throw one TooLongFrameException per full HTTP message 2013-05-09 19:44:39 +02:00
Trustin Lee
80f4c0b334 Merge SnappyChecksumUtil into Snappy and make calculateChecksum() public / Overall clean up 2013-05-09 15:23:56 +09: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
18bda09d6c Allow to recover from exception triggered by accept() more easily
This is done by stop accept() new sockets for 1 seconds
Beside this this commit also makes sure accept() exceptions of OioServerSocketChannel trigger
the fireExceptionCaught(...). The same is true fo the AioServerSocketChannel.
2013-05-08 17:21:14 +02:00
Norman Maurer
b65c8716a5 Correctly handle multipart disposition 2013-05-08 17:20:44 +02:00
Frederic Bregier
6c0b2be412 Same fix for Netty V4 for issue #1313
Remove encodeAttribute/decodeAttribute for Multipart element
Replace where necessary by cleanString (to remove '"') on name part (not
on value part)
2013-05-08 15:18:30 +02:00
Norman Maurer
c07234ed72 [#1346] Make sure HttpPostRequestEncoder.nextChunk() return LastHttpContent once all chunks are read 2013-05-08 15:11:08 +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
5dd867ee23 [#1340] use full url in comment 2013-05-07 14:54:27 +02:00
Norman Maurer
6cbc6e9886 [#1340] Log SslExceptions thrown by SslEngine.closeInbound() with debug level 2013-05-07 09:42:02 +02:00
Norman Maurer
97bdabad9c [#1293] Fix IllegalBufferAccessException in HttpPostRequestDecoder
* Also let HttpPostRequestDecoder extends Iterator and let its Exceptiosn extend DecoderException
2013-05-06 21:36:30 +02:00
Norman Maurer
a170f05b4b [#1293] Fix handling of chunked requests in HttpPostRequestEncoder and the multipart examples 2013-05-06 15:00:18 +02:00
Norman Maurer
a4a92ee14a Try to reproduce #1335 without luck 2013-05-06 10:29:14 +02:00
Norman Maurer
17e5049194 Fix examples 2013-05-06 10:27:06 +02:00
Norman Maurer
108c7d9b44 No need to pass the next BufType to the constructor 2013-05-06 07:46:26 +02:00
Frederic Bregier
c230afaed1 Fix for #1313 and #1332
Add TEXTPLAIN in HttpHeaders
Remove all coding/decoding Attribute using URL scheme for name and
attribute
Add text/plain to contant-type
2013-05-05 21:36:38 +02:00
Jeff Pinner
128bbe3225 SPDY: refactor SpdyHttpDecoder to allow subclasses to access messageMap 2013-05-04 20:55:28 +02:00
Norman Maurer
7b854072d4 [#1327] Fix javadoc diagram for new api 2013-05-02 13:22:31 +02:00
Norman Maurer
d8a250aba0 Log with info level and not with warn 2013-05-02 08:43:29 +02:00
Trustin Lee
0c5bea8b30 Fix style 2013-05-02 00:37:02 +09:00
Andrei.Pozolotin
e05fdb3514 Update OSGI Test Suite. 2013-05-02 00:32:38 +09:00
Trustin Lee
2a15f658d6 Ensure UnreleasableByteBuf does not expose the wrapped buffer to the caller
- Fixes #1324
2013-05-01 20:43:23 +09: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
2e0dd65250 Fix a bug where the unpooled buffer returned by the pooled allocator reports an incorrect allocator 2013-05-01 11:14:21 +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
Norman Maurer
9128d4f16a Fix checkstyle 2013-04-30 21:11:41 +02:00
Norman Maurer
ee433ea911 Fix checkstyle 2013-04-30 20:55:50 +02:00
Norman Maurer
a48ed71e86 Fix type in class name 2013-04-30 20:41:50 +02:00
Norman Maurer
57a8a9fd98 [#1321] HttpHeaders.removeTransferEncodingChunked(..) must handle the value in case insensitive manner 2013-04-30 20:41:20 +02:00
Trustin Lee
6646db171e Use tryFailure() to notify registration failure to avoid IllegalStateException
.. which is raised when the registration promise has been failed already due to an internal error in the pipeline.

- Fixes #1319
2013-04-30 18:30:17 +09:00
Norman Maurer
61327b5871 Simplify a bit 2013-04-30 07:17:07 +02:00
kerr
4bac0443e8 update to barchart-udt 2.2.6
* which fix https://github.com/barchart/barchart-udt/issues/48
2013-04-28 10:52:34 +02:00
Trustin Lee
d92bcff1b6 Fix a bug where HttpContentEncoder generates an empty chunk even if it's not the last chunk
- Fixes #1312
- Added more test cases to ensure the fix
2013-04-27 15:38:28 +09:00
Trustin Lee
a218eb6f6f Allow to disable only heap or direct buffer pool
- Fixes #1315

If a user specifies the arena size of 0, the pool is now disabled
instead of raising an IllegalArgumentException. Using this, you can
disable only heap or direct buffer pool easily. Once disabled,
PooledByteBufAllocator will delegate the allocation request to
UnpooledByteBufAllocator.
2013-04-27 08:55:16 +09:00
Trustin Lee
8bb6d5b303 Rename Unsafe.directOutboundContext to headContext 2013-04-26 10:23:01 +09:00