Commit Graph

17 Commits

Author SHA1 Message Date
Trustin Lee
681d460938 Introduce TextHeaders and AsciiString
Motivation:

We have quite a bit of code duplication between HTTP/1, HTTP/2, SPDY,
and STOMP codec, because they all have a notion of 'headers', which is a
multimap of string names and values.

Modifications:

- Add TextHeaders and its default implementation
- Add AsciiString to replace HttpHeaderEntity
  - Borrowed some portion from Apache Harmony's java.lang.String.
- Reimplement HttpHeaders, SpdyHeaders, and StompHeaders using
  TextHeaders
- Add AsciiHeadersEncoder to reuse the encoding a TextHeaders
  - Used a dedicated encoder for HTTP headers for better performance
    though
- Remove shortcut methods in SpdyHeaders
- Replace SpdyHeaders.getStatus() with HttpResponseStatus.parseLine()

Result:

- Removed quite a bit of code duplication in the header implementations.
- Slightly better performance thanks to improved header validation and
  hash code calculation
2014-06-14 15:36:19 +09:00
Trustin Lee
2a6ed67efc Preparation for porting OpenSSL support in 3.10
- Add licenses and dependencies
2014-05-17 20:01:30 +09:00
Norman Maurer
d3ffa1b02b [#1259] Add optimized queue for SCMP pattern and use it in NIO and native transport
This queue also produces less GC then CLQ when make use of OneTimeTask
2014-02-27 13:28:37 +01:00
Trustin Lee
6e73d5471c Add back jzlib license file and notice 2013-02-21 14:00:59 -08:00
Norman Maurer
c93f5afa99 [#1012] Cleanup 2013-02-20 12:52:55 +01:00
Norman Maurer
1cc04e7dda Remove reference to metrics as it is not used anymore 2013-02-12 11:14:16 +01:00
Trustin Lee
42c65cca3a Make MessageBuf bounded
- Move common methods from ByteBuf to Buf
- Rename ensureWritableBytes() to ensureWritable()
- Rename readable() to isReadable()
- Rename writable() to isWritable()
- Add isReadable(int) and isWritable(int)
- Add AbstractMessageBuf
- Rewrite DefaultMessageBuf and QueueBackedMessageBuf
  - based on Josh Bloch's public domain ArrayDeque impl
2013-01-31 18:11:06 +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
Luke Wood
43e40d6af6 Add Snappy compression codec 2012-12-18 21:09:31 +01:00
Trustin Lee
8945ce17ad Update license notices and dependencies 2012-12-14 00:38:05 +09:00
Veebs
e79d5720d3 Added webbit license and credits 2011-10-27 10:34:37 +11:00
Trustin Lee
e5ccdee14e Removed the license files for unused dependencies 2010-04-30 11:09:37 +00:00
Trustin Lee
b4e183a9fe Removed the license files for unused dependencies 2010-04-30 11:09:09 +00:00
Trustin Lee
a7132ee08e Relates issue: NETTY-80 Compression codec
* Initial implementation of jzlib based zlib compression handler
2009-10-16 06:10:25 +00:00
Trustin Lee
e424c5f87d * Added XNIO dependency (optional)
* Updated license files for XNIO
2009-02-17 10:22:53 +00:00
Trustin Lee
7860e999a7 Updated license information (NETTY-106 Add missing license files to the distribution) 2009-02-13 13:58:37 +00:00
Trustin Lee
026fc520bb * Moved all third party license filed into the 'license' directory
* Beautified NOTICE.txt
2008-12-30 02:41:09 +00:00