The framework is made up of several modular components. When using the library, it is possible to selectively choose to use only a subset of the implemented modules.
- See also:
- senf_overview
The Packet Processing Infrastructure implements a modular framework for implementing packet oriented network applications. The library provides a large set of pre-defined modules as well as the necessary helpers to implement application specific processing modules.
- See also:
- libPPI API reference
This library provides a high performance and object oriented abstraction of the standard socket API. It utilizes a flexible and extensible policy based design. The library provides predefined types for the important socket types (UDP and TCP sockets etc) including raw and packet sockets.
- See also:
- libSocket API reference
This library provides a very flexible infrastructure to parse, create and otherwise manipulate packetized network data. Included is a library of several protocol parsers covering the basic IPv4 and IPv6 network protocols down to the Ethernet layer.
- See also:
- libPackets API reference
The scheduler library provides an object oriented interface to the standard UNIX
select
type event dispatcher. It is based on the high performance
epoll
system call. It provides support for read/write events as well as simple timer based events.
- See also:
- libScheduler API reference
This library is used be most all of the other modules for miscellaneous tools and utilities. We have
- Simple functions to manage daemon processes
- Standard exception classes
-
senf::intrusive_refcount to simplify the implementation of classes usable with boost::intrusive_ptr
- boost::bind extensions
- An interface to the
g++
de-mangler integrated with type_info
- Typedefs and rudimentary methods to simplify handling high-resolution time values
- See also:
- libUtils API reference