Commit Graph

3532 Commits

Author SHA1 Message Date
norman
ec28cc8ba1 Refactor ChunkedWriteHandler to remove synchronization which can have bad side effects like deadlocks. See #297 and #301 2012-05-04 10:31:06 +02:00
norman
7016b83629 Add @Override annotations 2012-05-04 10:28:57 +02:00
norman
d3c137923f Notify ChannelFuture's of queued writes if the SslHandler gets remove d from the ChannelPipeline. See #306 2012-05-04 10:27:58 +02:00
norman
bc6948c397 Fail all queued writes if the ChunkedWriteHandler is removed from the ChannelPipeline. See #304 2012-05-04 10:26:25 +02:00
norman
2174ce3628 Fail all pending writes on channelClosed(..). See #305 2012-05-04 10:24:28 +02:00
Norman Maurer
f023120a62 Allow to register ChannelFutureListener's that get notified once the inbound of the SSLEngine is closed. See #137 2012-05-03 17:15:03 +02:00
norman
fb52b8a3b2 Make sure ChunkedInput.close() is not called before the write is complete. See #303 2012-05-03 09:24:36 +02:00
Trustin Lee
607d784e5e Retrofit/overhaul the NIO transport with the new API
- Remove large portion of code thanks to the new API
- SocketChannel implementations are instantiated without factories
- Retrofit the existing code with the new API
2012-05-02 21:05:53 +09:00
Norman Maurer
4e528c10fa Fix small race which can lead to resumeTransfer() to not kick in. See #300 2012-05-02 13:15:28 +03:00
Frédéric Brégier
cc0d7d8be5 typo fix! sorry 2012-05-02 12:35:36 +03:00
Frédéric Brégier
62f5623d2a typo fix ! Sorry 2012-05-02 12:33:40 +03:00
Frédéric Brégier
51415ca3ee Merge pull request #296 from fredericBregier/master
Very small fix on skipControlCharacters
2012-05-02 01:41:54 -07:00
Frédéric Brégier
d475a8cc64 Very small fix (readUnsigned while in optimized version it was signed but should be unsigned) 2012-05-02 11:40:28 +03:00
Trustin Lee
9e6f8b46df Retrofit the NIO transport with the new API / improve the new API
- Remove the classes and properties that are not necessary anymore
- Remove SingleThreadEventLoop.newRegistrationTask() and let
  Channel.Unsafe handle registration by itself
- Channel.Unsafe.localAddress() and remoteAddress()
  - JdkChannel is replaced by Channel.Unsafe.
2012-05-02 15:01:58 +09:00
norman
202df0618c Remove workaround for ipv6 link-localaddresses as it not work on most os / jdk versions. See #267 and #295 2012-05-02 07:39:02 +02:00
Trustin Lee
5dda9d1840 Retrofit the socket channel API with the new API 2012-05-02 14:07:50 +09:00
Frédéric Brégier
3edef63fa8 Merge pull request #294 from fredericBregier/master
For Improvement Issues #290 and #290, plus the defect issue #291
2012-05-01 10:13:42 -07:00
Trustin Lee
e65e496fc0 Clear Channel.eventLoop on deregistration 2012-05-01 23:19:31 +09:00
Trustin Lee
1356a0b61e Replace Channel.Unsafe.setEventLoop() with register()
- Added AbstractChannel.doRegister()
2012-05-01 23:18:29 +09:00
Norman Maurer
b2e77beb46 We need to set the exception on each MessageEvent. See #293 2012-05-01 12:00:36 +02:00
Trustin Lee
a83b9704fa Make sure ChannelFutureListeners are invoked from an event loop thread 2012-05-01 18:31:17 +09:00
Trustin Lee
0682421ce1 Remove unused classes
- ChannelPipelineFactory will be replaced with sometime else when I
  refactory the bootstrap package
- FileRegion is going away.  A user can deregister a channel and perform
  such operations by him/herself.  If this turns out to be too
  difficult, I'll introduce a new 'sendfile' operation to the outbound
  handler.
2012-05-01 18:23:59 +09:00
Trustin Lee
1b5960a1a8 Add ClientChannelConfig and move connectTimeoutMillis there 2012-05-01 18:17:12 +09:00
Trustin Lee
f4423ac555 Remove unused configuration properties and their related classes 2012-05-01 17:53:38 +09:00
Trustin Lee
c34d63d159 Fix compilation errors in ChannelGroup and its related types
- Also removed the operations not valid anymore
2012-05-01 17:49:41 +09:00
Trustin Lee
825d7964c9 Add ChannelFutureFactory & removeClosureListener()
- Channel and ChannelHandlerContext extends ChannelFutureFactory.
- Added Channel.removeClosureListener()
2012-05-01 17:48:24 +09:00
Trustin Lee
368156f5d0 Another round of the new API design
- Channel now creates a ChannelPipeline by itself

  I find no reason to allow a user to use one's own pipeline
  implementation since I saw nobody does except for the cases where a
  user wants to add a user attribute to a channel, which is now covered
  by AttributeMap.

- Removed ChannelEvent and its subtypes because they are replaced by
  direct method invocation.
- Replaced ChannelSink with Channel.unsafe()
- Various getter renaming (e.g. Channel.getId() -> Channel.id())
- Added ChannelHandlerInvoker interface
- Implemented AbstractChannel and AbstractServerChannel
- Some other changes I don't remember
2012-05-01 17:19:41 +09:00
Frédéric Brégier
502e469c45 Add Exception to the exception class name 2012-05-01 00:18:42 +03:00
Frédéric Brégier
1bf17c7c87 Add Exception to name of the Exception ;-) 2012-05-01 00:14:42 +03:00
Norman Maurer
2a70df1c1c Optimize AbstractNioWorker.cleanUpWriteBuffer(..). See #293 2012-04-30 20:26:44 +02:00
Frédéric Brégier
675bccc9ea Update codec-http/src/main/java/io/netty/handler/codec/http/HttpPostRequestDecoder.java 2012-04-30 13:06:53 +03:00
Frédéric Brégier
a524396475 Optimize Buffer access while decoding by going through backend array when possible (divide by almost 2 the time spent in decoding) 2012-04-30 13:02:46 +03:00
Frédéric Brégier
c83323f748 Add the SeekAheadOptimize class to enable faster seek of bytes values in HttpPostRequestDecoder 2012-04-30 12:38:07 +03:00
Frédéric Brégier
d9085e9e37 Fix in addContent when switching from MemoryAttribute if it is done when last buffer added, in order to not close immediately the underlying file before adding the last buffer. 2012-04-30 12:33:10 +03:00
Frédéric Brégier
a410cb243b Fix in addContent when switching from MemoryAttribute if it is done when last buffer added, in order to not close immediately the underlying file before adding the last buffer. 2012-04-30 12:32:24 +03:00
Frédéric Brégier
877383de3a Move force() after multiple writes, not at every steps 2012-04-30 12:30:08 +03:00
Frédéric Brégier
65876fa7fb Close channel when needed and optimize force() position after multiple writes not at each step 2012-04-30 12:29:05 +03:00
Trustin Lee
0f42719e9b Add DefaultAttributeMap 2012-04-29 23:08:59 +09:00
Trustin Lee
f57ef3d414 Add ChannelBufferHolder.toString() 2012-04-29 21:51:12 +09:00
Trustin Lee
3804f3cbbb Remove ChannelLocal (deprecated) 2012-04-29 20:40:58 +09:00
Trustin Lee
447545bb19 Remove the methods related with half-close 2012-04-29 18:49:44 +09:00
Trustin Lee
470e7da5d7 Add MultithreadEventLoop
- Add EventLoopException to wrap the exceptions while an event loop does
something
- Make EventLoop.register() return EventLoop so that the caller knows
the actual EventLoop that will handle the Channel even if the caller
called register() from MultithreadEventLoop
2012-04-29 18:40:55 +09:00
Trustin Lee
e76e2aeac8 Add missing @Override annotation 2012-04-29 17:59:42 +09:00
Trustin Lee
cdd1ba93f0 Second round of new channel handler API design
- Rename ChannelReader to ChannelInboundHandler
- Rename ChannelWriter to ChannelOutboundHandler
- Introduce ChannelBufferHolder instead of adding the common super type
  of message buffers and byte buffers
  - This is more type-safe and natural.
- Remove the notification methods for buffer closure (might add back
  later when revisiting half-closed connection support)
2012-04-29 17:53:50 +09:00
norman
94b10d2d02 Remove volatile on two fields that don't need it 2012-04-27 07:47:37 +02:00
norman
dcd2a10f95 Remove @deprecated constructor. See #283 2012-04-27 07:39:26 +02:00
Norman Maurer
9f2c454ab7 Merge pull request #284 from veebs/WsMaxFrameLength
Issue #283 - (master) Support max frame length for web socket to limit chance of DOS attack
2012-04-26 22:38:06 -07:00
vibul
40e9b96764 We need to keep the old constructor to not break the API. 2012-04-27 10:43:34 +10:00
Norman Maurer
e61a9ce7c1 Make sure netty detects the right java version when running on android. See #282 2012-04-26 16:30:46 +03:00
norman
9d555b0b97 OioWorker failed to fire channelConnected event for OioAcceptedSocketChannel which is fixed now. This also fix a race which can could lead to missing events. See #287 2012-04-26 14:53:31 +02:00