Commit Graph

3269 Commits

Author SHA1 Message Date
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
vibul
6009a413b9 Issue #283 - Support max frame length for web socket to limit chance of DOS attack 2012-04-26 10:09:12 +10:00
norman
a8b9e27c92 NioDatagramWorker.ChannelRegistionTask should handle ClosedChannelException gracefully. See #281 and #277 2012-04-25 09:24:51 +02:00
Norman Maurer
476cf97b97 Make the cumulation usage more memory efficient. See #280 2012-04-24 20:41:10 +02:00
Norman Maurer
6e2e9fb3c5 Use gathering writes if java version is >= 7 . See #269 and #271 2012-04-24 20:32:06 +02:00
Norman Maurer
77d2f9c4ef Upgrade and Connection header must be matched in a case-insensitive manner in WebSocket 08 and 13. See #278 2012-04-22 12:56:37 +02:00
Norman Maurer
980d96cf58 Fix possible NPE. See #274 2012-04-21 16:12:08 +02:00
Norman Maurer
5f6b419bb9 Allow to specify the local address when connect. See #276 2012-04-21 16:00:23 +02:00
Norman Maurer
ccf01d133a Make sure we always cleanup once ReplayingDecoder handles a message. See #259 2012-04-20 20:17:30 +02:00
Norman Maurer
ec409751e1 Correctly handle the stripping of the zoneId / scopeId in all cases. See #267 2012-04-19 16:42:55 +02:00
Norman Maurer
2ecef07c4a Allow to disable the use of sun.misc.Unsafe via a System property. See #272 2012-04-19 12:07:17 +02:00
Norman Maurer
e719f23f7d Only log if logging level is enabled 2012-04-19 12:03:09 +02:00
Norman Maurer
54559a9595 Make it configurable if the HttpClientCodec should throw an exception on close when the response and request count does not match. Default is false. See #266 2012-04-17 20:54:58 +02:00
Norman Maurer
d808cd0475 Fix compile error 2012-04-17 20:54:38 +02:00