Commit Graph

4277 Commits

Author SHA1 Message Date
Trustin Lee
39357f3835 Enable TCP_NODELAY and SCTP_NODELAY by default
- Fixes #939
- Add PlatformDependent.canEnableTcpNoDelayByDefault()
  - Currently returns false on Android. Will change if necessary later.
2013-01-31 12:17:09 +09:00
Trustin Lee
152c969eab Make Bootstrap and ServerBootstrap thread-safe
- Additional fix for: #970
- Use LinkedHashMap again to save memory consumption
- ServerBootstrap now makes a copy of child parameters so that modifying ServerBootstrap after bind() does not affect the already-bound servers. This also makes child channel initialization potentially faster due to reduced garbage iterator.
2013-01-31 11:34:28 +09:00
Trustin Lee
604b359d9e Use InetSocketAddress(0) if no localAddress is specified for connect() operation in UDT 2013-01-31 10:22:03 +09:00
Norman Maurer
eeab6767db Tighten up generics on ServerBootstrap again as it was fixed in UDT 2013-01-30 21:38:15 +01:00
Andrei Pozolotin
82f876f7db [#999] Refactor UDT transport to make use of the ServerChannel interface 2013-01-30 21:17:23 +01:00
Norman Maurer
97ea338bce [#971] Fix a bug where the HttpContentCompressor was try to start compressing on an empty response 2013-01-30 20:58:07 +01:00
Norman Maurer
641db5cdfe Only write the header as it should be 2013-01-30 20:40:06 +01:00
Norman Maurer
cff2edf75d Remove not used enum 2013-01-30 19:02:29 +01:00
Trustin Lee
33c9f3f1e5 Relax ServerBootstrap type constraint to support UDT properly 2013-01-30 22:04:20 +09:00
Trustin Lee
05d16cd361 Made Bootstrap and ServerBootstrap copy constructors private as suggested 2013-01-30 21:55:10 +09:00
Trustin Lee
b1b0319bbe Fix build errors and warnings 2013-01-30 21:47:34 +09:00
Norman Maurer
1bb003d9ae [#995] Replace AtomicReference usage with AtomicReferenceFieldUpdater
This will safe as an example 2gb mem when have 10 DefaultHandlerContext instances per connection and the connection count is 1000000.
Also kind of related to [#920]
2013-01-30 13:45:39 +01:00
Trustin Lee
03de5f479a Fix build errors 2013-01-30 21:43:37 +09:00
Trustin Lee
23438de66f Move AbstractBootstrap.ChannelFactory out of AbstractBootstrap and hide AbstractBootstrap from a user
- Fixes #998
- Also generified ChannelFactory
2013-01-30 21:40:49 +09:00
Trustin Lee
86135a4080 Make ServerBootstrap final
- Related: #997
2013-01-30 21:14:23 +09:00
Trustin Lee
7c50c1e2e6 Make Bootstrap and ServerBootstrap implement Cloneable and rename duplicate() to clone()
- Fixes #997
- Replace duplicate() with clone()
- Add copy constructor for simplicity
- Can now clone invalid/incomplete bootstrap
- Upgrade to netty-build-14 to disable SuperClone checkstyle module
- Finalize class hierarchy so no subclasses are introduced
2013-01-30 21:12:42 +09:00
Luke Wood
bd0339ce1a Fix buffer over-run in Snappy codec when emitting a copy that leaves < 4 bytes remaining 2013-01-30 12:15:57 +01:00
Trustin Lee
64e6c4021d Use the clearer parameter names that indicate the address is for Internet connections 2013-01-30 20:14:59 +09:00
Trustin Lee
788d7e9b8b Remove Bootstrap operations that require a promise and add various ad-hoc bind() and connect() operations
- Update examples to use the newly added bind() and connect()
  operations.
2013-01-30 20:11:00 +09:00
Norman Maurer
291293a6dc [#980] Automatically trigger a read operation if isAutoRead() == false but we only had a partial decode 2013-01-30 09:16:45 +01:00
Norman Maurer
3843cfd702 [SPDY] Factor out headers into extra class like we did in http and support method chaining where possible 2013-01-30 08:23:07 +01:00
Norman Maurer
238e03f75b Add setters and getters back to Http Objects
* This is done because we noticed that the previous change limit the usage more then it gave us any benefit. Now it is possible
  again to rewrite the url on the fly or reuse the objects when writing a proxy and so limit the GC pressure.
* Fixes also #979
2013-01-30 07:42:18 +01:00
Trustin Lee
c5ccaee506 Fix a bug in HttpPostRequestDecoder where character encoding is ignored when reading a line
- Fixed #992 (backported from 3)
  - 9650cda163
  - b38bde2d2b
2013-01-29 15:59:15 +09:00
Norman Maurer
a54217053f [#988] Fix typo 2013-01-28 11:26:53 +01:00
Norman Maurer
d7bfd44e10 [#982] [#977] [#858] Allow to transfer the content a ChannelHandlers inbound/outbound buffer on removal/replacement
This changes the behavior of the ChannelPipeline.remove(..) and ChannelPipeline.replace(..) methods in that way
that after invocation it is not possible anymore to access any data in the inbound or outbound buffer. This is
because it empty it now to prevent side-effects. If a user want to preserve the content and forward it to the
next handler in the pipeline it is adviced to use one of the new methods which where introduced.

 - ChannelPipeline.removeAndForward(..)
 - ChannelPipeline.replaceAndForward(..)
2013-01-28 10:25:38 +01:00
Norman Maurer
a27d1cc365 [#986] DefaultChannelHandlerContext.fireUserEventTriggered(...) uses correct ChannelHandlerContext now 2013-01-26 16:47:00 +01:00
Norman Maurer
cc278d45c2 Disable test as this let fail the build 80% times on osx and slow linux servers. Need to investigate 2013-01-26 16:17:12 +01:00
Norman Maurer
9da01417b2 [#973] Use static IdleStateEvents to reduce GC pressure 2013-01-23 17:34:27 +01:00
Norman Maurer
b9aaf9a167 [#977] Stop processing messages/bytes in a loop when the handler was removed from the ChannelPipeline 2013-01-23 07:35:44 +01:00
Norman Maurer
3f72add89a [#976] Fix exception which will be raised by ChannelInboundHandler.discardInboundReadBytes() and ChannelOutboundHandler.discardOutboundReadBytes() if the handler remove it self from the pipeline 2013-01-23 07:27:00 +01:00
Norman Maurer
a25f7fa2e5 Revert "[#972] Correctly mark the ChannelPipeline once a ChannelHandler was removed and because of this a buffer was freed"
This reverts commit 4ac3bace0f.
2013-01-23 06:45:44 +01:00
Norman Maurer
4ac3bace0f [#972] Correctly mark the ChannelPipeline once a ChannelHandler was removed and because of this a buffer was freed 2013-01-22 21:18:13 +01:00
Brian Roach
54af70f067 Bootstrap thread safety
Changed options and attrs from LinkedHashMap to ConcurrentHashMap to
avoid a possible ConcurrentModificationException if a thread was
adding/removing options/attrs while another was calling Bootstrap.init()
or Bootstrap.duplicate()
2013-01-22 07:06:02 +01:00
Norman Maurer
ee9f30a2b9 *ChannelBuffer* -> *ByteBuf* and ChannelBuffersTest -> UnpooledTest 2013-01-21 21:02:25 +01:00
Courtney Robinson
7b6cbdbb1e [#964] ByteBuf.readLine() must return null when no more data is available in ByteBuf 2013-01-21 20:56:00 +01:00
Andrei Pozolotin
a91887cda7 transport-udt tests should run only when provider class can be loaded and initialized 2013-01-21 17:06:44 +01:00
Luke Wood
318328bb06 [#957] Netty/Transport/RXTX: Add an optional wait time after opening the serial port but before configuration to allow the serial microcontroller to reset itself after opening. 2013-01-21 16:34:48 +01:00
Norman Maurer
4192222b38 Rname StreamOioByteChannel to OioByteStreamChannel 2013-01-21 12:10:07 +01:00
Norman Maurer
7316a3c65c [#965] Allow to adjust the SO_TIMEOUT on the fly 2013-01-21 11:48:05 +01:00
Norman Maurer
29bed32a89 [#963] Fix invalid free-up of messages if they are only passed-throught in HttpContentEncoder and HttpContentDecoder 2013-01-21 10:41:23 +01:00
Norman Maurer
082b5f0dff [#962] Read data as soon as it is present in OIO and not wait till it match Buffer.writableBytes()
- Also add a new abstract class called StreamOioByteChannel which can be used by OIO channel implementation which are Stream based as a starting point.
2013-01-21 10:14:21 +01:00
Norman Maurer
b20e597217 Add RxtxChannelConfig and tighten up visibility. Also support method chaining 2013-01-20 11:18:40 +01:00
Norman Maurer
c1e827fd72 [#942] Add an option to disable decoding of chunked transfer encoding in HttpObjectDecoder 2013-01-20 10:40:54 +01:00
Norman Maurer
57e504a7e6 Add javadocs to the *ChannelConfig interfaces to make clear which ChannelOptions implementations are expect to support 2013-01-20 08:10:15 +01:00
Norman Maurer
8b72a4c1e2 Remove netty-metrics-yammer as it does not exist anymore 2013-01-20 07:49:42 +01:00
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
Norman Maurer
1295f6d331 Fix formatting 2013-01-19 16:52:12 +01:00
Norman Maurer
d8f0e3fdf7 Add missing udp option 2013-01-19 16:51:00 +01:00
Trustin Lee
b60e0b6a51 Modernize InternalLogger API and enable logging framework autodetection
- Borrow SLF4J API which is the best of the best
- InternalLoggerFactory now automatically detects the logging framework
  using static class loading. It tries SLF4J, Log4J, and then falls back
  to java.util.logging.
- Remove OsgiLogger because it is very likely that OSGi container
  already provides a bridge for existing logging frameworks
- Remove JBossLogger because the latest JBossLogger implementation seems
  to implement SLF4J binding
- Upgrade SLF4J to 1.7.2
- Remove tests for the untestable logging frameworks
- Remove TestAny
2013-01-19 20:50:52 +09:00
Norman Maurer
e8636050ca [#864] Switch to single decoding mode on the protocol upgrade to prevent races 2013-01-18 09:56:17 +01:00