Supported protocols:
API documentation generated by Doxygen contains all necessary information for the external APIs.
The module contains a collection of utility functions handling the formats used in http header handling, cookies and encoding. Collections of key-value pairs are created or data encoded/decoded. Calling functions are responsible for memory management of the objects.
The Sequence splitter creates lists of objects that may either contain allocated strings or reference an externally managed string. The sequence can be initialized based on one of several profiles specifying how each key/value pair is separated from each other, and how the parts of the pair are separated. The splitteer can process several kinds of data, in particular RFC2231 encoded values, when requested to.
The list of objects are searchable on the name field, either by name or by an associated enumerated value.
The encoders are used to create a binary string in binary, Qouted-Printable or Base64 format. There is also a decoder for base64.
The DataFile and Record classes are base on DataStream classes to read and write the format used by the cache and cookie index files, as well as the storage file of several other modules.
The module is of moderate size. Various features can be enabled or disabled, either thorugh feature defines or specific defines.
Most of internal module functions handles OOM by LEAVing, and the caller must TRAP errors and handle them.
The module is client push based, the caller request an action and gets aresult.
Sequence splitters are usually not kept for long, and their allocated size depends on the number of elements and actual bodysize.
The encoders allocate memory that must be freed by the caller.
Usually large objects are allocated
In most cases stack consumption should be less than 300 bytes.
A number of compiled const arrays exists.
No caching is performed. Caller must manage the objects
Const arrays in pseudo const mode are deleted on exit
No shared temp buffers are used.
At present there are no opportunities to tune memory use.
Selftests, but they do not check memory usage.
Selftests, ordinary surfing, reading email.
The sequence splitter will use a single string and chop it into pieces handed to each sub element. This reduces memory consumption and allocation overhead.
There are currently no planned improvements.