Commit Graph

5791 Commits

Author SHA1 Message Date
Norman Maurer
48b416f112 Optimize encoding of websocket frames by merge if possible 2013-12-13 11:39:39 +01:00
Norman Maurer
ee17139a03 [#2053] Do not allow < 1 on AppendableCharSequence init. 2013-12-11 10:18:49 +01:00
Cruz Julian Bishop
b6874fcaa5 Format and partially describe Gitignore
Signed-off-by: Cruz Julian Bishop <cruz@techern.com>
2013-12-10 07:03:43 +01:00
Cruz Julian Bishop
f31bdf3507 Add KDevelop project files to the gitignore file
Signed-off-by: Cruz Julian Bishop <cruz@techern.com>
2013-12-10 07:03:43 +01:00
Michael Nitschinger
31b977bcad codec-memcache: prefix abstract classes with Abstract. 2013-12-09 11:28:59 +01:00
Michael Nitschinger
a06810609b codec-memcache: No need to allocate a buffer if no extra is used. 2013-12-09 08:07:05 +01:00
Trustin Lee
b8ca01bd9e Disable logging temporarily when running testRegistrationAfterShutdown 2013-12-08 14:17:35 +09:00
Trustin Lee
0d70ba4938 Disable logging temporarily when running testRegistrationAfterShutdown2 2013-12-08 14:12:10 +09:00
Trustin Lee
d53f7595d3 Fix checkstyle 2013-12-08 14:05:04 +09:00
Trustin Lee
4802c785f6 Add convenient logging methods for logging exceptions quickly
.. Mainly useful for writing tests or ad-hoc debugging
2013-12-08 13:20:52 +09:00
Trustin Lee
26979f8901 Add more diagnostics to SocketConnectionAttemptTest to fix the flaky test / Cleanup 2013-12-08 13:02:37 +09:00
Trustin Lee
4903b7fd17 Fix another buffer leak in BinaryMemcacheDecoderTest 2013-12-07 21:50:49 +09:00
Trustin Lee
5e86ccace9 Fix buffer leaks in BinaryMemcacheDecoderTest 2013-12-07 15:06:30 +09:00
Trustin Lee
f03f1eaaba Fix a buffer leak in BinaryMemcacheDecoder 2013-12-07 15:00:32 +09:00
Trustin Lee
2e53322be0 Fix buffer leaks in BinaryMemcacheEncoderTest 2013-12-07 12:15:44 +09:00
Trustin Lee
082ecd9140 Fixed buffer leaks in LoggingHandlerTest 2013-12-07 11:59:53 +09:00
Trustin Lee
065b6cf785 Fixed various buffer leaks in FixedCompositeByteBufTest 2013-12-07 11:36:18 +09:00
Trustin Lee
f8138619f0 Fix a buffer leak in BinaryMemcacheObjectAggregatorTest 2013-12-07 11:22:59 +09:00
Trustin Lee
73379195eb Fix a buffer leak in BinaryMemcacheObjectAggregatorTest 2013-12-07 11:19:26 +09:00
Trustin Lee
b6ac202c15 Fix buffer leak in AbstractMemoryHttpData 2013-12-07 11:13:50 +09:00
Trustin Lee
524726fd99 Fix NoSuchElementException raised by ChannelInitializer
.. again.
2013-12-07 11:03:55 +09:00
Trustin Lee
3d54a323ca Revert "Fix NoSuchElementException raised by ChannelInitializer"
This reverts commit 3c453f5dba.
2013-12-07 10:57:13 +09:00
Norman Maurer
643ce2f8c0 Fix all leaks reported during tests
- One notable leak is from WebSocketFrameAggregator
- All other leaks are from tests
2013-12-07 00:47:30 +09:00
Trustin Lee
3c453f5dba Fix NoSuchElementException raised by ChannelInitializer 2013-12-07 00:39:41 +09:00
Trustin Lee
5b68996f5a Add missing synchronization 2013-12-06 22:36:53 +09:00
Trustin Lee
187a5976cc Fix false-positive leaks
- All derived buffers and swapped buffers of a leak-aware buffer must be wrapped again with the leak-aware buffer
2013-12-06 21:32:47 +09:00
Trustin Lee
0f3451c227 Add ReferenceCountUtil.releaseLater() to make writing tests easy with ReferenceCounteds 2013-12-06 15:12:46 +09:00
Trustin Lee
ea3143a1ee Checkstyle 2013-12-06 13:53:42 +09:00
Trustin Lee
d21568b962 Also record retain() and release() 2013-12-06 13:44:59 +09:00
Trustin Lee
6554b8c395 readableBytes() ==0 -> !isReadable() 2013-12-06 13:29:46 +09:00
Trustin Lee
27d020fc35 Hide protocol detail from users 2013-12-06 13:27:51 +09:00
Norman Maurer
b0da45db7a [#2041] Make PlatformDependent.isRoot0() work on solaris 2013-12-05 15:44:19 +01:00
Michael Nitschinger
920e7a5539 codec-memcache: increase default buffer size and only encode extras if set. 2013-12-05 13:37:16 +01:00
Trustin Lee
f2bb5f1b4c Allow specifying a custom charset for a multipart Attribute
- Fixed #2025
- Adapted from @BabyDuncan's pull request: #2031
- Overall ugliness clean-up
2013-12-05 11:23:23 +09:00
Trustin Lee
6431be8954 Better buffer leak reporting
- Remove the reference to ResourceLeak from the buffer implementations
  and use wrappers instead:
  - SimpleLeakAwareByteBuf and AdvancedLeakAwareByteBuf
  - It is now allocator's responsibility to create a leak-aware buffer.
  - Added AbstractByteBufAllocator.toLeakAwareBuffer() for easier
    implementation
- Add WrappedByteBuf to reduce duplication between *LeakAwareByteBuf and
  UnreleasableByteBuf
- Raise the level of leak reports to ERROR - because it will break the
  app eventually
- Replace enabled/disabled property with the leak detection level
  - Only print stack trace when level is ADVANCED or above to avoid user
    confusion
- Add the 'leak' build profile, which enables highly detailed leak
  reporting during the build
- Remove ResourceLeakException which is unsed anymore
2013-12-05 00:49:21 +09:00
Norman Maurer
6bba3c19dd [#2033] Correctly handle adding of IdleStateHandler after Channel was already active and registered 2013-12-03 14:47:18 +01:00
Norman Maurer
ec8967f9ff Replace usage of StringBuilder by AppendableCharSequence for performance reasons 2013-12-03 14:47:11 +01:00
Norman Maurer
f9a77b3c83 Add FixedCompositeByteBuf which can be used to write an array of ByteBuf in an efficient way.
This implementation does not produce as much GC pressure as CompositeByteBuf and so is prefered,
for writing an array of ByteBufs. Be aware that FixedCompositeByteBuf is readonly.

When using this in a project that make heavy use of CompositeByteBuf for writes we was able to cut
down allocation to a half.
2013-12-03 08:09:24 +01:00
Norman Maurer
5106382b44 Port the HTTP / RTSP encoder and decoder from 4.0 branch as those are just faster. 2013-12-02 20:53:39 +01:00
Michael Nitschinger
addae7b8ad [codec-memcache] encode key directly, no need to use unpooled. 2013-12-02 13:01:51 +01:00
Michael Nitschinger
624b92b4b1 codec-memcache: removed println in test case. 2013-12-02 11:58:44 +01:00
Michael Nitschinger
5fb7dcc4c6 codec-memcache: fix decoding issue for value parts.
This changeset fixes an issue when decoding would stop if the value
comes separated in two or more packets, leading to invalid bytes read.
2013-12-02 11:54:38 +01:00
Trustin Lee
f1ea6fb98f Improve documentation for the two-args formatter in LoggingHandler 2013-12-02 18:58:56 +09:00
Trustin Lee
99c01aa9f3 Rename formatUserMessage to formatSimple and use it in two-args formatter in LoggingHandler 2013-12-02 18:57:38 +09:00
Trustin Lee
0dddec8dfd Simplify two-args message formatter in LoggingHandler 2013-12-02 18:56:33 +09:00
Trustin Lee
4fcec8b87d Make LoggingHandler.appendHexDump(..) protected for the subclasses 2013-12-02 18:48:19 +09:00
Trustin Lee
5e575daefc Optimize and clean up LoggingHandler
- Use ': ' instead of '(...)' for simpler string concatenation and prettier presentation
- Optimize the overall performance of format*() methods
- All format*() methods are now expected to encode the channel information by themselves so that StringBuilder instances are created less often.
- Use a look-up table for generating per-row prefixes
- Hid formatByteBuf(), formatByteBufHolder(), and formatNonByteBuf() from user because a user can always override format(ctx, eventName, arg).  For example, to disable hexdump:

    protected void format(ChannelHandlerContext ctx, String eventName, Object arg) {
        if (arg instanceof ByteBuf) {
            super.format(ctx, eventName, arg.toString());
        } else {
            super.format(ctx, eventName, arg);
        }
    }
2013-12-02 18:44:30 +09:00
Norman Maurer
a4e4479407 Fix checkstyle 2013-12-02 08:24:15 +01:00
Norman Maurer
d66bffe271 [#2021] No need to synchronize for unpooled chunks 2013-12-02 08:02:32 +01:00
Norman Maurer
4a680a3b49 Remove the use of ThreadLocal for performance reasons 2013-11-29 19:18:27 +01:00