Norman Maurer
76d7829d38
[ #960 ] Fix calculation of writerIndex() which was incorrect and so result in truncated DatagramPackets when using NIO
2013-01-19 17:22:28 +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
37a3f2e3b8
[ #887 ] [ #866 ] [ #883 ] Add unified interface for Message oriented protocols and also use direct buffers for them
2013-01-03 18:15:53 +01:00
Trustin Lee
923dde7a5f
Do not auto-start read operation
2013-01-03 16:01:41 +09:00
Trustin Lee
103edc4467
Make ChannelConfig.setAutoRead() triggers Channel.read() if autoRead was previously false
...
- also rename JDK socket and channel variables so that they are less ambiguous
2013-01-01 16:49:21 +09:00
Norman Maurer
4e77bacdf7
[ #873 ] [ #868 ] Split ChannelFuture into ChannelFuture and ChannelPromise
2012-12-31 23:27:16 +09:00
Norman Maurer
71b089cb3b
Add javadocs and cleanup
2012-12-23 19:24:20 +01:00
Trustin Lee
def12a171c
Rename ChannelBuf to Buf and ChannelBufType to BufType
...
- Fixes #825
2012-12-17 17:43:45 +09:00
Trustin Lee
5a4a59406b
Merge ByteBuf.hasNioBuffer() and hasNioBuffers()
...
- Fixes #797
2012-12-14 12:20:33 +09:00
Trustin Lee
aa7cd691df
Remove redundant 'else' branches.
2012-11-12 09:31:40 +09:00
Trustin Lee
c4e7ecbb5d
[ #575 ] Sending EMPTYBUFFER via NIO-UDP results in spaming the socket
2012-08-30 14:04:13 +09:00
Trustin Lee
e55a1f11b5
[ #559 ] Fix SocketSuspendTest.testSuspendAccept()
...
- Reimplemented the test
- Fixed various bugs related with read/accept suspension found while testing
- defaultInterestOps of NioServerSocketChannel should be OP_ACCEPT
- There's no need do deregister and re-register to suspend/resume accept()
- Occational infinite loop with 100% CPU consumption in OioEventLoop, caused by OioSocketChannel
- Even if read/accept is suspended, what's read or accepted should be notified to a user
2012-08-28 15:55:51 +09:00
norman
3992472b30
cleanup
2012-08-01 14:06:54 +02:00
norman
16a4088344
Address @trustin 's comments and also make sure the accept of AIO is only triggered from the event loop. See #71
2012-07-31 11:42:29 +02:00
Norman Maurer
57e7255566
Add support to suspend reads. See #71
2012-07-27 20:02:47 +02:00
Trustin Lee
42380b54b3
Revert file mode
2012-07-07 14:39:35 +09:00
Trustin Lee
81eaea77bd
Add DatagramChannel.isConnected()
...
.. because there is no way for a user with isActive to know if
DatagramChannel is connected or not
2012-07-07 14:30:24 +09:00
Trustin Lee
a5bb2c7f77
Add ChannelMetadata and remove unnecessary disconnect() impls
...
- Add Channel.metadata() and remove Channel.bufferType()
- DefaultPipeline automatically redirects disconnect() request to
close() if the channel has no disconnect operation
- Remove unnecessary disconnect() implementations
2012-07-07 14:30:24 +09:00
Norman Maurer
f8ef5d5d78
Next round for async channel api support a.k.a nio2. See See #396
2012-06-14 21:02:47 +02:00
Trustin Lee
ecd0ae5406
Prefer MessageBuf over Queue where possible
...
- Also replaced thread safe queues with non-thread-safe ones where
possible
- Unpooled.wrappedBuffer(Queue<T>) does not wrap MessageBuf anymore
2012-06-12 17:02:00 +09:00
Trustin Lee
876847fd20
Merge MessageBufs and ByteBufs into Unpooled
...
- e.g. Unpooled.messageBuffer()
- It will make much more sense once we introduce pooling:
- i.e. Pooled.buffer()
2012-06-11 17:02:29 +09:00
Trustin Lee
a849d11877
ChannelBuffers -> ByteBufs / Add MessageBuf & ChannelBuf
...
- Add MessageBuf which replaces java.util.Queue
- Add ChannelBuf which is common type of ByteBuf and ChannelBuf
- ChannelBuffers was renamed to ByteBufs
- Add MessageBufs
- All these changes are going to replace ChannelBufferHolder.
2012-06-10 11:31:39 +09:00
Trustin Lee
5164d91255
Rename ChannelBuffer to ByteBuf as discussed before
...
- ChannelBuffer gives a perception that it's a buffer of a
channel, but channel's buffer is now a byte buffer or a message
buffer. Therefore letting it be as is is going to be confusing.
2012-06-10 11:08:43 +09:00
Trustin Lee
468a3228a4
Fit every line into 120 columns
2012-06-08 19:28:12 +09:00
Trustin Lee
994038975a
Port HttpContentEncoder/Decoder to use EmbeddedStreamChannel / Cleanup
...
- Removed unused constructor parameter in AbstractChannel
- Re-enabled GZIP encoding in HTTP snoop example
2012-06-07 21:06:56 +09:00
Trustin Lee
1eced1e9e3
Update license headers
2012-06-04 13:31:44 -07:00
Trustin Lee
cc4f705029
Replace ChannelBuffer.toByteBuffer() with hasNioBuffer() and nioBuffer()
...
... just like we do with byte arrays. toByteBuffer() and
toByteBuffers() had an indeterministic behavior and thus it could not
tell when the returned NIO buffer is shared or not. nioBuffer() always
returns a view buffer of the Netty buffer. The only case where
hasNioBuffer() returns false and nioBuffer() fails is the
CompositeChannelBuffer, which is not very commonly used and *slow*.
2012-06-02 01:30:55 -07:00
Trustin Lee
665777e6f9
Add InternetProtocolFamily and use it with NioDatagramChannel
2012-05-31 02:49:39 -07:00
Trustin Lee
a53ecbf5f1
Implement the local transport
...
- Replace the old local example with localecho example
- Channel's outbound buffer is guaranteed to be created on construction
time.
2012-05-30 03:58:14 -07:00
Trustin Lee
f4c6bcafaf
Keep channel's outbound buffer in AbstractChannel
...
- Replace firstOut() with newOutboundBuffer()
2012-05-30 00:35:53 -07:00
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
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
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
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
norman
805270c5d9
Finish support for UDP Multicast in UDP. See #216
2012-04-03 12:04:33 +02:00
norman
023227917f
cleanup
2012-04-02 15:27:40 +02:00
norman
221a77409a
Only use the source address to join a multicast group if it was specified. See #216
2012-04-02 15:25:40 +02:00
norman
7f8408065b
Fix UDP Multicast writes. See #237
2012-04-02 14:22:13 +02:00
norman
b350e8d289
Fix UDP Multicast writes. See #237
2012-04-02 14:20:40 +02:00
norman
9b90e3191a
Finish support of NIO UDP multicast. This also change the methods to
...
return a ChannelFuture. See #216
2012-04-02 11:57:32 +02:00
norman
72f9f502bb
Add support for UDP multicast in NIO. See #216
...
Add some javadocs. See #216
Use the correct key to lookup MembershipKey. See #216
2012-04-02 11:14:31 +02:00
Norman Maurer
b98516536e
Introduce the JdkChannel interface and implementation. This will allow
...
us to also share all our nio code in the SCTP implementation.
2012-03-29 17:07:19 +02:00
Norman Maurer
6e68577d54
Merge pull request #225 from netty/workerpool
...
Support of sharing a WorkerPool between Factories
2012-03-20 01:44:28 -07:00
norman
fd3d98cf62
Fix UDP Multicast writes. See #237
2012-03-20 09:43:00 +01:00
norman
0b0edea6bc
Make classes public
2012-03-07 13:29:55 +01:00
Norman Maurer
bc47850bbe
Allow to obtain the Worker that was used to serve the IO of a Channel
2012-03-06 19:26:32 +01:00