Commit Graph

32 Commits

Author SHA1 Message Date
Trustin Lee
de2872f7f7 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
- Remove shortcut methods in SpdyHttpHeaders
- 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 17:14:30 +09:00
Trustin Lee
942db3aa23 Preparation for porting OpenSSL support in 3.10
- Add licenses and dependencies
2014-05-17 20:01:09 +09:00
Norman Maurer
6efac6179e [#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:56:15 +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
Courtney Robinson
3a52cc410a Add some of the metrics mentioned in #718
use single static initialization of available metrics monitor registries

* This changes the original implementation to work in a similar way to
how slf4j selects and loads an implementation.
* Uses a single static instance so intialization is done only once.
* Doesn't throw IllegalStateException if multiple implementations are
found on the classpath. It instead selects and uses the first
implementation returned by iterator()
* Class left as an iterable to keep the API the same

add yammer metrics to examples to allow them to publish metrics

publish the number of threads used in an EventLoopGroup see issue #718

* seems like the better place to put this because it sets the default
thread count if the MultithreadEventLoopGroup uses super(0,...)
* It also happens to be the common parent class amongst all the
MultiThreadedEventLoopGroup implementations
* Count is reported for
io.netty.channel.{*,.local,.socket.aio,.socket.nio}

fix cosmetic issues pointed out in pull request and updated notice.txt

see https://github.com/netty/netty/pull/780

count # of channels registered in single threaded event loop

measure how many times Selector.select return before SELECT_TIME
2013-01-04 11:27:49 +01: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
Trustin Lee
679f33a986 More copyright updates 2011-12-09 14:28:48 +09:00
Trustin Lee
015daec3fa http://jboss.org/netty/ to http://netty.io/ 2011-12-09 12:46:59 +09:00
Veebs
418df7e9bf Added webbit in NOTICE 2011-10-30 16:41:32 +11:00
Trustin Lee
d9dba0d754 Fixed wrong license file name 2010-10-24 18:17:54 +00:00
Trustin Lee
14d27eb7c9 Removed the unused dependencies from NOTICE.txt 2010-05-07 01:02:29 +00:00
Trustin Lee
eeb98c5f97 * Forked JZlib to support GZIP format
* Added CompressionException to hide ZStreamException
* Better javadoc on compression level
* Better compression level validation
2009-10-21 06:07:26 +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
2fa19ff845 * Updated NOTICE.txt (file -> product)
* Relicensing the benchmark program under ALv2
2009-08-28 07:45:45 +00:00
Trustin Lee
829afeb993 file -> product 2009-08-28 07:40:28 +00:00
Trustin Lee
b11ef6ca9b Relicensed to Apache License v2 2009-08-28 07:15:49 +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
Trustin Lee
2e6b091ce9 Updated license information 2008-12-30 02:23:25 +00:00
Trustin Lee
b368d09785 Typo 2008-12-17 10:21:00 +00:00
Trustin Lee
c42494b252 Updated the license information 2008-12-17 10:06:55 +00:00
Trustin Lee
aab28d36d9 * Added ConcurrentReferenceHashMap (will be used to implement NETTY-85 Global Channel registry)
* Updated copyright notice
2008-11-29 15:42:03 +00:00
Trustin Lee
731ab2a0eb Updated copyright information 2008-10-01 04:55:10 +00:00
Trustin Lee
5e767254ea Tabs to spaces 2008-09-05 06:38:38 +00:00
Trustin Lee
f812cde87f Updated NOTICE.txt and added COPYRIGHT.txt following the JBoss.org guideline 2008-08-08 00:52:35 +00:00
Trustin Lee
aef2ab453a Initial import. Needs to:
* rename packages
* update license information
2008-08-08 00:37:18 +00:00