1 /** \mainpage The SENF Packet Library
3 \section arch Overall Architecture
5 The Packet library consists of several components:
7 \li The \ref packet_module manages the packet data and provides the framework for handling the
8 chain of packet headers. The visible interface is provided by the Packet class.
9 \li \ref packetparser provides the framework for interpreting packet data. It handles
10 parsing the packet information into meaningful values.
11 \li The \ref protocolbundles provide concrete implementations for interpreting packets of
12 some protocol. The Protocol Bundles are built on top of the basic packet library.
17 - ParseInt.hh: Lots of parsers for integer numbers like senf::Parse_UInt8, for integer
18 bitfields like senf::Parse_UIntField and senf::Parse_Flag to parse boolean flags.
20 - ParseArray.hh: The senf::Parse_Array parser to parse arbitrary fixed-size arrays of
21 fixed-size elements (that is sub-parsers).
23 - ParseVec.hh: The senf::Parse_Vector parser to parse dynamically sized arrays of fixed-size
24 elements (that is sub-parsers).
26 See senf::ParserBase for further information.
28 \section stuff Other Utilities
30 The pkf also comprises some additional utilities to support the development of packet classes.
32 The senf::PacketRegistry implements a registry of packets keyed by an arbitrary type. The
33 registry is used to find a packet type given some kind of id (like the ethertype value from the
34 ethernet header). Together with it's support classes (especially senf::PacketRegistryMixin) this
35 class greatly simplifies implementing the needed table lookups.
42 // c-file-style: "senf"
43 // indent-tabs-mode: nil
44 // ispell-local-dictionary: "american"