Commit Graph

429 Commits

Author SHA1 Message Date
Trustin Lee
5c347c5683 Remove unused import 2012-09-01 16:56:44 +09:00
Trustin Lee
e781bd0b1e Disable epoll bug woakraround by default 2012-09-01 16:56:09 +09:00
Trustin Lee
00f737c3a4 Move system property access operations to SystemPropertyUtil 2012-09-01 16:52:47 +09:00
Trustin Lee
a1e8dad4ad Fix a bug in shutdownOutput() implementations where wrong ChannelFuture is notified 2012-08-30 16:38:08 +09:00
Trustin Lee
68e86d8667 [#576] UDP socket bind to specific IP does not receive broadcast on Linux
- Log a warning message if a user attempts to bind to a non-wildcard
  address with SO_BROADCAST set on non-Windows
2012-08-30 15:50:55 +09:00
Trustin Lee
59e511fdc6 Better method names 2012-08-30 14:18:04 +09:00
Trustin Lee
47045e12cd Fix a checkstyle violation 2012-08-30 14:06:56 +09:00
Trustin Lee
c4e7ecbb5d [#575] Sending EMPTYBUFFER via NIO-UDP results in spaming the socket 2012-08-30 14:04:13 +09:00
Norman Maurer
44bfc47a52 Correctly convert to nanos. See #565 2012-08-30 07:24:22 +03:00
Trustin Lee
9580c417c6 Javadoc 2012-08-29 21:52:39 +09:00
Trustin Lee
d03de0f3ca [#107] Add support for closing either input or output part of a channel
- Add ChannelOption.ALLOW_HALF_CLOSURE
  - If true, ChannelInputShutdownEvent is fired via userEventTriggered()
    when the remote peer shuts down its output, and the connection is 
    not closed until a user calls close() explicitly.
  - If false, the connection is closed immediately as it did before.
- Add SocketChannel.isInputShutdown()
- Add & improve test cases related with half-closed sockets
2012-08-29 21:49:39 +09:00
Norman Maurer
a1b668bb2f Fix checkstyle. See #535 2012-08-29 08:12:19 +02:00
Norman Maurer
3d44aeca50 Merge workaround for epoll(..) bug into master branch. See #365 , #535 and #327 2012-08-29 08:03:32 +02:00
Trustin Lee
02f3df55a8 [#107] Add support for closing either input or output part of a channel
- Add shutdownOutput() and isOutputShutdown() to SocketChannel
2012-08-29 13:26:29 +09:00
Trustin Lee
dca860e0d5 Remove code duplication in OIO transport / Make concrete unsafe final 2012-08-29 12:58:00 +09:00
Trustin Lee
37f8710f2b Rename DefaultAioChannelFinder to ReflectiveAioChannelFinder 2012-08-29 12:13:50 +09:00
Trustin Lee
1b810c4be6 Rename to the correct method name 2012-08-29 12:04:56 +09:00
Trustin Lee
9a177d99bf Make AioChannelFinder implementations final 2012-08-28 17:02:03 +09:00
Trustin Lee
a643bdd331 Fix a checkstyle violation 2012-08-28 17:00:54 +09:00
Trustin Lee
cc2ada0b6c Add missing license headers 2012-08-28 16:59:30 +09:00
Trustin Lee
709b3abd83 Improve AioChannelFinder implementations
- Use copy-on-write map
- Fix a potential bug where the old implementation assumed that one 
  Runnable type always wraps the same Runnable
- Cache offset value instead of Field in UnsafeAioChannelFinder
2012-08-28 16:57:45 +09:00
Trustin Lee
17ecbdd804 Better error message 2012-08-28 16:26:57 +09:00
Trustin Lee
c565b59fe3 Remove a unnecessary annotation 2012-08-28 16:25:01 +09:00
Trustin Lee
fe4a8d6dc9 Extract ChannelFinder into separate top level classes 2012-08-28 16:14:35 +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
Trustin Lee
f3c940d208 Add ChannelPipeline.first/lastContext() / Cleanup 2012-08-28 13:03:41 +09:00
Norman Maurer
2710af1b8a More javadocs 2012-08-28 02:10:17 +02:00
Norman Maurer
100dd541ba Rename ChannelHandlerContext.type() to ChannelHandlerContext.types() as it return a Set 2012-08-28 01:19:45 +02:00
Norman Maurer
ea3d304206 Some javadocs love 2012-08-28 01:14:05 +02:00
Norman Maurer
6a62c259ab Merge pull request #566 from netty/unsafe_channel_access
Use Unsafe when possible to access AbstractAioChannel to prevent slow Re...
2012-08-27 01:49:35 -07:00
Norman Maurer
778599baf8 Allow to adjust timeout of Selector.select(timeout) via io.netty.selectTimeout property. See #568 2012-08-26 10:05:20 +02:00
Norman Maurer
967b5424c5 Use Unsafe when possible to access AbstractAioChannel to prevent slow Reflection usage. This is kind of related to #528 2012-08-25 22:50:31 +02:00
Cruz Julian Bishop
ca952e11c0 AbstractChannel: Remove function getRandom()
Requested by @trustin and @normanmaurer

Signed-off-by: Cruz Julian Bishop <cruzjbishop@gmail.com>
2012-08-25 20:01:57 +10:00
Cruz Julian Bishop
1e3fe3ffc3 AbstractChannel: hashCode() now returns the channel's ID
Requested by @trustin

Signed-off-by: Cruz Julian Bishop <cruzjbishop@gmail.com>
2012-08-25 13:36:34 +10:00
Cruz Julian Bishop
ad7f7a2f25 Merge branch 'master' into pseudorandom-channel-IDs 2012-08-25 13:34:17 +10:00
Norman Maurer
cd9a36d4e7 Merge pull request #553 from jfallows/aio-unmodified-buffer
Ensure unmodified buffer delivered via pipeline after AIO read completes
2012-08-24 09:25:01 -07:00
Trustin Lee
ba6c032180 [#557] Provide pre/post handler methods to ChannelInboundMessageHandler.inboundBufferUpdated()
- Add pre- and post- handler methods
2012-08-24 17:25:07 +09:00
Trustin Lee
c9174e0733 Prefer discardSomeReadBytes() 2012-08-24 17:22:14 +09:00
Cruz Julian Bishop
d6023ef129 Merge branch 'master' into pseudorandom-channel-IDs 2012-08-23 09:59:02 +10:00
Cruz Julian Bishop
7e3bfaf24c Generate channel IDs in a pseudorandom fashion
Requested by @psweeny in #547

Signed-off-by: Cruz Julian Bishop <cruzjbishop@gmail.com>
2012-08-23 09:56:58 +10:00
Trustin Lee
00188a2923 [#160] No response to write if server is using SslHandler and client is not
- Make SslHandler close the connection on SSLException or NotSslRecordException
2012-08-22 13:38:09 +09:00
Trustin Lee
b25996d024 [#486] Make NoSuchBufferException give more useful message.
- Remove confusing exception messages
- Do not use default exception messages wherever possible
2012-08-20 21:03:23 +09:00
John Fallows
3cce40bd79 Suppress unchecked cast warnings for config options. 2012-08-19 13:49:09 -07:00
Trustin Lee
2bb114bcb7 [#504] SslHandler.flush() notifies futures prematurely.
- Make use of ChannelFlushFutureNotifier to notify flush futures
  correctly
- Improve the test case to ensure this commit fixes the bug
2012-08-19 17:36:58 +09:00
Trustin Lee
3f101ad3d1 [#504] SslHandler.flush() notifies futures prematurely.
- Add ChannelFlushFutureNotifier
  - Extracted the functionality that keeps track of flush futures in
    AbstractChannel.  Will be used in SslHandler.
2012-08-19 17:05:51 +09:00
Trustin Lee
ebf33c6e3b No need to make the timeout of thread model test too long
Using m1.large instance fixed the unstable build problem with CloudBees
2012-08-19 15:18:51 +09:00
Trustin Lee
7b213d2c93 Double the timeout of LocalTransportThreadModelTest
- because it seems to make the build unstable in CloudBees
2012-08-19 15:12:18 +09:00
Trustin Lee
8bfbebc772 Rename TaskScheduler to ChannelTaskScheduler 2012-08-19 15:10:09 +09:00
Trustin Lee
44daa99d3f [#530] Allow using a bounded ByteBuf as the first inbound buffer
- Clean up
- Do not stop reading when reached at maxCapacity.
  - Just let handler drain the buffer and try again quickly.
- No more magic number in OIO buffer expansion
2012-08-19 14:48:56 +09:00
Trustin Lee
9e75a33d3d [#530] Allow using a bounded ByteBuf as the first inbound buffer 2012-08-19 13:55:12 +09:00