Marshal Buffers

A marshal buffer, or TSMBuffer, is a heap data structure that stores parsed URLs, MIME headers, and HTTP headers. You can allocate new objects out of marshal buffers and change the values within a marshal buffer. Whenever you manipulate an object, you require the handle to the object (TSMLoc) and the marshal buffer containing the object (TSMBuffer).

Routines exist for manipulating the object based on these two pieces of information. For examples, see one of the following:

The marshal buffer functions enable you to create and destroy Traffic Server’s marshal buffers, which are the data structures that hold parsed URLs, MIME headers, and HTTP headers.

Caution

Any marshal buffer fetched by TSHttpTxn*Get will be used by other parts of the system. Be careful not to destroy these shared transaction marshal buffers in functions such as those below: