|
||||||||||
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 |