Messages, which are the 's abstract data type for network
packets, are defined by the Msg structure. Loosely speaking,
this structure consists of a tree of buffers that collectively hold
the bytes contained in the message. The leftmost buffer in this tree
is called the header stack because it holds the headers that are
pushed onto the front of a packet. This data structure is fairly
complex, however, and so we do not describe it in this document. The
interested reader is referred to a companion report
[]. In addition, there is a MsgWalk structure
that is used by msgWalkNext to traverse the buffers that make
up a message (see Section ). This structure is also
defined in []. The fields of neither structure should not
be directly accessed by the protocol developer.