See: Description
| Interface | Description | 
|---|---|
| ByteChunk.ByteInputChannel | Input interface, used when the buffer is empty. | 
| ByteChunk.ByteOutputChannel | When we need more space we'll either grow the buffer ( up to the limit )
 or send it to a channel. | 
| CharChunk.CharInputChannel | Input interface, used when the buffer is empty. | 
| CharChunk.CharOutputChannel | When we need more space we'll either grow the buffer ( up to the limit )
 or send it to a channel. | 
| StringUtils.Function<T> | 
| Class | Description | 
|---|---|
| AbstractChunk | Base class for the *Chunk implementation to reduce duplication. | 
| Ascii | This class implements some basic ASCII character handling functions. | 
| B2CConverter | NIO based character decoder. | 
| ByteChunk | This class is used to represent a chunk of bytes, and utilities to manipulate
 byte[]. | 
| C2BConverter | NIO based character encoder. | 
| CharChunk | Utilities to manipulate char chunks. | 
| CharsetCache | |
| Constants | String constants for the file package. | 
| HexUtils | Tables useful when converting byte arrays to and from strings of hexadecimal
 digits. | 
| MessageBytes | This class is used to represent a subarray of bytes in an HTTP message. | 
| MessageBytes.MessageBytesFactory | |
| StringCache | This class implements a String cache for ByteChunk and CharChunk. | 
| StringCache.ByteEntry | |
| StringCache.CharEntry | |
| StringUtils | Utility methods to build a separated list from a given set (not
 java.util.Set) of inputs and return that list as a string or append it to an
 existing StringBuilder. | 
| UDecoder | All URL decoding happens here. | 
| UEncoder | Efficient implementation for encoders. | 
| UriUtil | Utility class for working with URIs and URLs. | 
| Utf8Decoder | Decodes bytes to UTF-8. | 
| Utf8Encoder | Encodes characters as bytes using UTF-8. | 
| Enum | Description | 
|---|---|
| UEncoder.SafeCharsSet | 
Encoding is a critical operation for performance. There are few tricks in this package - the C2B and B2C converters are caching an ISReader/OSWriter and keep everything allocated to do the conversions in any VM without any garbage.
This package must accommodate future extensions and additional converters ( most important: the nio.charset, which should be detected and used if available ). Also, we do have one hand-written UTF8Decoder, and other tuned encoders could be added.
My benchmarks ( I'm costin :-) show only small differences between C2B, B2C and hand-written codders/decoders, so UTF8Decoder may be disabled.
Copyright © 2000-2020 Apache Software Foundation. All Rights Reserved.