Commit Graph

3183 Commits

Author SHA1 Message Date
Trustin Lee
064b3dc9e5 Split AbstractNioChannel into two subtypes
- AbstractNioMessageChannel and AbstractNioStreamChannel
- Better performance
- Replaced 'if' checks with polymorphism
2012-05-27 05:07:23 -07:00
Trustin Lee
7327bb3522 Add SingleThreadEventLoop.runAllTasks()
- Removed duplicated processTaskQueue() in child event loops
- Simplified the cleanup of cancelled keys in NIO transport
2012-05-27 04:43:48 -07:00
Trustin Lee
3b8de9f133 Add LoggingHandler to ServerSocketChannel's pipeline 2012-05-27 04:17:33 -07:00
Trustin Lee
f29b6ae29a Fix performance issue in OioSocketChannel since previous refactoring 2012-05-26 23:29:23 -07:00
Trustin Lee
6206d82b2c Split AbstractChannel into AbstractOioChannel and AbstractNioChannel
- Simpler OIO transport
- Suits better for other transports such as AIO, RXTX, IOStream
- Add ChannelBufferHolders.discardBuffer()
2012-05-26 22:48:48 -07:00
Trustin Lee
a1bdf671f1 Simplified EventLoop implementation names
- Also
  - Fixed a test failure
  - Fixed compiler warnings related with ChannelInitializer type
    parameters
2012-05-25 15:51:22 -07:00
Trustin Lee
61314ef51b Split AbstractChannel.doFlush() into two variants for simpler user impl
- Also renamed doRead() to doReadMessages() and doReadBytes()
2012-05-25 15:32:28 -07:00
Trustin Lee
f60f918763 Fixed all SPDY echo tests / Handle closed old I/O channels correctly 2012-05-25 14:24:25 -07:00
Trustin Lee
01aa1647bb Reduce GC in OioDatagramChannel.doRead/doFlush 2012-05-25 14:12:43 -07:00
Trustin Lee
2395bcd805 Process task queue before start to read
- Otherwise some tasks scheduled right after activation will be executed
  with 1 second delay.
2012-05-25 14:06:33 -07:00
Trustin Lee
3d490810b8 Hide internal class from users 2012-05-25 14:01:19 -07:00
Trustin Lee
778fbc36a9 Remove selector spinning optimization 2012-05-25 13:59:31 -07:00
Trustin Lee
e2d69120bb Ported OIO socket/datagram transport to the new API 2012-05-25 13:58:56 -07:00
Trustin Lee
b06a4bea6b Fix a compilation error 2012-05-25 09:43:28 -07:00
Trustin Lee
bc5e8b6be1 Do not create an iterator unnecessarily 2012-05-25 06:30:30 -07:00
Trustin Lee
59f11ed64f Optimize AbstractChannel and related classes
- AbstractChannel.doRead() is split into two versions so that the
  implementation doesn't have to validate the buffer type.
- Optimized ChannelBufferHolder a little bit
- Reduced GC related with flush future notification
  - Added FlushCheckpoint and DefaultChannelFuture implements it
    opportunistically
-
2012-05-25 06:16:25 -07:00
Trustin Lee
02cb7adf03 Reduce GC in ChannelBuffer bulk operations
- Pre-create an NIO ByteBuffer for reuse instead of creating a new one
  every time
2012-05-25 06:10:10 -07:00
Trustin Lee
25599018f2 Tiny bit of optimization in event loop 2012-05-24 21:04:12 -07:00
Trustin Lee
02144f70e1 Genericize ChannelInitializer 2012-05-24 15:12:14 -07:00
Trustin Lee
4a3c54b0fa Add UDP_RECEIVE_PACKET_SIZE option for datagram transport 2012-05-24 10:37:51 -07:00
Trustin Lee
c7c923cab3 Ported the QOTM example to the new API
- Fixed bugs in the NIO datagram transports
  - DefaultNioDatagramChannelConfig did not initialize on Java 6
2012-05-24 09:32:14 -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
cd11786994 Fix typo in the comment 2012-05-24 08:51:46 -07:00
norman
326b88c430 A small optimization for the fix of #360 2012-05-24 08:47:35 +02:00
Norman Maurer
609caeba94 Merge pull request #363 from sunng87/master
Fix #360, add check for empty string buffer
2012-05-23 23:40:55 -07:00
Sun Ning
a6d7105761 fix #360, add check for empty buffer; also add unit test for this scenario 2012-05-24 14:33:19 +08:00
Trustin Lee
21a3d3fe02 Add more constructor to NioSocketChannel 2012-05-23 23:28:15 -07:00
Trustin Lee
a2d57144b4 Fix compilation errors 2012-05-23 11:47:37 -07:00
Trustin Lee
debaa6a72a Fix resource management 2012-05-23 11:45:30 -07:00
Trustin Lee
c883b61503 Ported codec-http to the new API
- Added ChannelBufferHolders.catchAllBuffer()
- Relaxed UnsupportedMessageTypeException constructor signature
- EmbeddedChannel now uses the catchAllBuffer
- ChanelInboundMessageHandlerAdapter.messageReceive() throws Exception
- Added ChannelInboundStreamHandlerAdapter
2012-05-23 11:42:10 -07:00
Trustin Lee
50b4894c36 Use ChannelInboundMessageHandlerAdapter 2012-05-23 09:49:03 -07:00
Trustin Lee
7ecad7a8ac Add ChannelInboundMessageHandlerAdapter 2012-05-23 09:47:38 -07:00
Jeff Pinner
c37496311c Merge pull request #361 from jpinner/spdy_3_master
SPDY/3 Support
2012-05-23 08:55:39 -07:00
Jeff Pinner
1a28d6119f SPDY: add SPDY/3 support 2012-05-23 08:54:11 -07:00
Jeff Pinner
f60997686d SPDY: fix for mozilla firefox bug 754766 2012-05-23 08:53:29 -07:00
Jeff Pinner
69d5be4225 SPDY: remove frame size limit in frame decoder 2012-05-23 08:52:50 -07:00
Norman Maurer
3a7ed4b75c Add workaround to let the sleep work correctly in windows too. See #356 2012-05-23 15:12:04 +02:00
Norman Maurer
a6685df3e2 Merge pull request #359 from Massive-Dynamics/out-of-bounds-details
Added messages to all IndexOutOfBoundsExceptions
2012-05-23 06:06:32 -07:00
Cruz Julian Bishop
71c1a2575d Added messages to all IndexOutOfBoundsExceptions
I need to implement this to help myself finish more future pull requests which, so far, are plagued by these exceptions with no information available.
2012-05-23 21:25:35 +10:00
Norman Maurer
03f890a882 Only send event upstream once the Ssl handshake was completed successfull. See #358 2012-05-22 22:57:36 +02:00
Trustin Lee
ee4c1a55eb Fix a compilation error 2012-05-22 10:57:59 -07:00
norman
bd4358b3ad Make sure the test also work on ipv6 interfaces 2012-05-22 09:51:45 +02:00
norman
128309367c Also handle the case of missing shared lib for sctp 2012-05-22 09:36:14 +02:00
norman
0a95ce8104 Fix checkstyle 2012-05-21 11:57:55 +02:00
norman
10cd871df7 Release the resources of the BossWorkerPool. See #328 2012-05-21 11:48:52 +02:00
Norman Maurer
ba4736f33b Merge pull request #350 from fredericBregier/master
Change Executor to Timer from Netty, in reference to Issue #345 in master branch
2012-05-20 08:36:28 -07:00
Frédéric Brégier
327e434925 Fix checkstyle 2012-05-20 18:25:10 +03:00
Frédéric Brégier
41c6aefdab Fix checkstyle 2012-05-20 18:21:14 +03:00
Frédéric Brégier
c634539faa Fix checkstyle 2012-05-20 18:20:21 +03:00
Frédéric Brégier
8846947081 Same fix than in version 3.5 for Master branch (refer to issue #345)
Will be proposed once the one in 3.5 will be validated
2012-05-20 16:40:06 +03:00