Commit Graph

2445 Commits

Author SHA1 Message Date
Trustin Lee
8650cfbc53 Fix #263 No way to pass unfold=true to decoder superclass
- Allow modifying unfold property until the decoder is added to a
  pipeline
2012-06-24 22:19:17 +09:00
Trustin Lee
1311a2edc1 Simplify FrameDecoder and ReplayingDecoder 2012-06-24 22:12:08 +09:00
Trustin Lee
7f21daed77 Merge pull request #390 from gbehrmann/feature/zerocopyframedecoder
ZeroCopyFrameDecoder to avoid excessive buffer copies in FrameDecoder when using large frames
2012-06-24 03:14:05 -07:00
Trustin Lee
76db244fed Fix #406: HttpContentCompressor compresses compressed content
- Do not compress if the content encoding is not identity
2012-06-24 19:01:20 +09:00
Trustin Lee
b2d8813bf3 Fix #218: CookieDecoder.decode() throws StackOverflowError
- Rewrote key-value decoder not using a regular expression
2012-06-24 19:01:20 +09:00
Norman Maurer
2721d1e9c7 Remove misleading comment 2012-06-24 10:17:23 +02:00
Trustin Lee
e3a8805259 Fix #397: Allow all cookie names that conform to the RFC
- lenient flag is not needed anymore
2012-06-24 14:16:03 +09:00
Trustin Lee
9ae847c33a Fix test failures 2012-06-24 13:41:54 +09:00
Trustin Lee
3fc7730b2c Fix #403 - Contradictory JavaDoc in setWriteBufferHighWaterMark 2012-06-24 13:04:20 +09:00
Trustin Lee
fa886dbc80 Fix #405: CookieEncoder should refuse to encode more than one cookie
.. if on server mode
2012-06-24 12:58:33 +09:00
Gerd Behrmann
e329cc3524 ZeroCopyFrameDecoder: Optimize cumulation buffer compaction
Avoid calling CompositeChannelBuffer.decompose. A more efficient
frame deocder specific implementation is used that avoids some
of the cost of decomposing a CompositeChannelBuffer.

Added setMaxUnusedBufferCapacity to set a threshold. If a
cumulation buffer wastes more space than the threshold, the
decoder will resort to copying the buffer to free up the unused
space. The semantics are different from FrameDecoder's
setMaxCumulationBufferCapacity in that the threshold is for
unused space, not buffer capacity. This allows the copy of
large buffers to be avoided if only a small amount of space
is to be gained.

If a copy is invoked, only the actual fragment is copied, not
the complete cummulation buffer. This reduces the cost of
copying the buffer.
2012-06-19 22:41:47 +02:00
Gerd Behrmann
0086eb3e1d ZeroCopyFrameDecoder: Follow checkstyle rules 2012-06-19 22:38:39 +02:00
Gerd Behrmann
a3f46b5359 Merge remote-tracking branch 'upstream/3' into feature/zerocopyframedecoder 2012-06-19 19:10:42 +02:00
Trustin Lee
7aceb7ae8e Rename NativeZlibEncoder to JdkZlibEncoder 2012-06-19 09:55:41 +09:00
Jeff Pinner
db181f1120 Use java.util.zip in HttpContentCompressor if possible 2012-06-18 11:39:25 -07:00
Frédéric Brégier
bab98ab969 Damn ! Fix typo and type needed for fix #399 for issue #398 2012-06-15 20:40:44 +03:00
Frédéric Brégier
1f696fa2f1 Change back to FileChannel but by block 2012-06-15 11:04:22 +03:00
Frédéric Brégier
7c34781672 Proposal to fix issue #398 by replacing FileChannel.transferTo by manual loop to prevent usage of mmap unde the wood by the JVM, while the optimization will be less efficient. 2012-06-15 09:14:37 +03:00
norman
df11cfab25 Introduce a FrameDecoder.setMaxCumulationBufferCapacity(..) setter which allows to configure how bug the capacity of the cumulation buffer can be before the FrameDecoder tries to optimize memory usage with byte copies. Related to #390
This allows the users to set a threshold that matches best their needs. Use Integer.MAX_VALUE to disable copies at all at the cost of bigger memory usage.
2012-06-13 11:22:37 +02:00
norman
cb8fc7af4a Use a different ThreadLocal for ChannelExecutionEvents to prevent false-positives on deadlock detection. See #387 2012-06-13 08:07:43 +02:00
Trustin Lee
fed2f640ee serverID -> serverId (#393 Ensure all fields follow naming convention) 2012-06-12 21:20:36 +09:00
Trustin Lee
c3e70186f8 StreamID -> StreamId (#393 Ensure all fields follow naming convention) 2012-06-12 20:57:34 +09:00
Trustin Lee
95d8e782e3 ID -> Id (#393 Ensure all fields follow our naming convention) 2012-06-12 20:31:45 +09:00
Trustin Lee
178d24a16d Do not use the deprecated methods (#393) 2012-06-12 20:27:14 +09:00
Trustin Lee
9464396719 ID -> Id (#393 Ensure all fields follow our naming convention) 2012-06-12 20:24:51 +09:00
Trustin Lee
d159a43a49 ID -> Id (#393 Ensure all fields follow our naming convention) 2012-06-12 20:19:52 +09:00
Trustin Lee
a6f5af6116 Remove 'public' modifier which is unnecessary 2012-06-12 20:07:47 +09:00
Trustin Lee
65111fce1d getPersist(ed) -> isPersist(ed) (#393) 2012-06-12 20:05:27 +09:00
Trustin Lee
b9906e94a3 Ensure all fields follow our naming convention (#393)
- Fix naming issues in SPDY
- For backward compatibility, the methods with bad names were deprecated
2012-06-12 18:05:50 +09:00
Gerd Behrmann
641e5368d0 Add ZeroCopyFrameDecoder
Copy of FrameDecoder that avoids copying partial frames to a cumulation
buffer. Instead buffers are kept on a list and composed to a
CompositeChannelBuffer when needed.

CompositeChannelBuffers's decomposite method conveniently allows buffers
from which all data was read to be discarded.

The documented interface stays compatible with FrameDecoder, however
undocumented behaviour used by ReplyDecoder and other subclasses has
changed. For this reason a new class was introduced rather than
modifying the existing FrameDecoder.
2012-06-11 17:11:59 +02:00
norman
c7a96c18d8 Remove unnecessary use of volatile in ChunkedInput implementations. See #389 2012-06-11 12:57:56 +02:00
norman
4776e6ae9f Sorry.. bad revert "Revert "Merge branch '3' of ssh://github.com/netty/netty into 3""
This reverts commit 91accdc5e4.
2012-06-11 12:49:32 +02:00
norman
91accdc5e4 Revert "Merge branch '3' of ssh://github.com/netty/netty into 3"
This reverts commit 7d8a6f9c8e, reversing
changes made to 78da141c9d.
2012-06-11 10:07:46 +02:00
Norman Maurer
25109dd351 Exclude bin folder 2012-06-08 18:45:56 +02:00
Norman Maurer
8f429cba47 @Ignore multicast tests 2012-06-08 18:08:16 +02:00
Trustin Lee
3fb5b9e105 Fit to 120 column (Done) 2012-06-08 21:02:11 +09:00
Trustin Lee
90a1bd6965 Fit to 120 columns (in progress) 2012-06-08 20:16:42 +09:00
Trustin Lee
6fce4539ad CRLF -> LF / Remove trailing whitespace 2012-06-08 11:13:57 +09:00
Trustin Lee
6d647feb7e Fix a problem where multicast test eats 100% CPU on test failure (#373)
- Proper resource cleanup fixed 100% CPU issue
- Using a loopback interface made the test pass
2012-06-08 08:59:28 +09:00
Norman Maurer
758b7dc793 Make sure calling ExecutionHandler.releaseExternalResource() does not lead to a dead-lock when calling from a ChannelEventRunnable. See #200 2012-06-07 15:40:00 +02:00
Norman Maurer
4e8c3638e1 Make sure multicast test use correct interface. This also fix #373 2012-06-07 15:27:43 +02:00
norman
fc2049b5c7 Make sure we call super. 2012-06-06 11:47:44 +02:00
norman
4f81776e06 Notify ChannelFuture first on handshake() error. See #383 2012-06-06 08:47:31 +02:00
norman
784722eff4 Only parse the packet length one time per packet. See #382 2012-06-06 08:42:36 +02:00
Trustin Lee
977ce4e645 Update license headers 2012-06-04 13:35:22 -07:00
Norman Maurer
cec88160d4 Merge pull request #380 from jamestyrrell/3-new
Improve HTTP message streaming in decoder
2012-06-04 09:21:07 -07:00
norman
9b097ddea0 Skip test on windows as it may fail because of permission problems 2012-06-04 15:04:24 +02:00
norman
508edbfdcc Add a testcase to prove that we have no bug in ChunkedWriteHandler when notify futures 2012-06-04 14:27:20 +02:00
norman
4a48419dc6 Merge branch '3' of ssh://github.com/netty/netty into 3 2012-06-04 13:45:48 +02:00
norman
a06b3a41e8 Move in correct package 2012-06-04 13:45:04 +02:00