|
||||||||||
| PREV PACKAGE NEXT PACKAGE | FRAMES NO FRAMES | |||||||||
See:
Description
| Interface Summary | |
| ByteChunk.ByteInputChannel | Input interface, used when the buffer is emptiy Same as java.nio.channel.ReadableByteChannel |
| ByteChunk.ByteOutputChannel | Same as java.nio.channel.WrittableByteChannel. |
| CharChunk.CharInputChannel | |
| CharChunk.CharOutputChannel | When we need more space we'll either grow the buffer ( up to the limit ) or send it to a channel. |
| Class Summary | |
| Ascii | This class implements some basic ASCII character handling functions. |
| B2CConverter | Efficient conversion of bytes to character . |
| Base64 | This class provides encode/decode for RFC 2045 Base64 as defined by RFC 2045, N. |
| ByteChunk | This class is used to represent a chunk of bytes, and utilities to manipulate byte[]. |
| C2BConverter | Efficient conversion of character to bytes. |
| CharChunk | Utilities to manipluate char chunks. |
| DateTool | Deprecated. Will be replaced with a more efficient impl, based on FastDateFormat, with an API using less objects. |
| HexUtils | Library of utility methods useful in dealing with 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 | |
| TimeStamp | Main tool for object expiry. |
| UDecoder | All URL decoding happens here. |
| UEncoder | Efficient implementation for encoders. |
| UTF8Decoder | Moved from ByteChunk - code to convert from UTF8 bytes to chars. |
Encoding is a critical operation for performance. There are few tricks in this package - the C2B and B2C converters are caching a ISReader/OSWriter and keep everything allocated to do the conversions in any VM without any garbage.
This package must accomodate future extensions and additional converters ( most imporant: 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.
|
||||||||||
| PREV PACKAGE NEXT PACKAGE | FRAMES NO FRAMES | |||||||||