senf::ppi::module::debug Namespace Reference

Debug modules. More...

Detailed Description

Debug modules.

This namespace collects several modules helpful for PPI debugging. The modules allow to manually pass packets into a network and read back the output packets.

There are three categories of modules:

  • Active modules (ActiveSource, ActiveSink) are triggered by external calls. Calling submit() / request() will send the request into the module network synchronously. From this it follows, that senf::ppi::run() should not be called. Instead senf::ppi::init() is used to initialize the network and explicit calls to the active debug modules drive the execution.
  • Passive modules (PassiveSource, PassiveSink) contain a queue to save packets (either packets to be transmitted or packets received) and are driven by the network.
  • Feeder (almost-)modules (ActiveFeederSource, ActiveFeederSink) are a hybrid of both types of modules: They contain a packet queue but actively drive the network and are used together with senf::ppi::run(). senf::ppi::run() will automatically terminate if all available packets have been processed. These are not modules, they are collections combining a passive debug module and a senf::ppi::ActiveFeeder.

Classes

class   ActiveSource
  Debug packet source with active output. More...
class   PassiveSource
  Debug packet source with passive output. More...
class   ActiveSink
  Debug packet sink with active input. More...
class   PassiveSink
  Debug packet sink with passive input. More...
class   ActiveFeederSource
  Active, queue-based packet source. More...
class   ActiveFeederSink
  Active, queue-based packet sink. More...
class   Logger
  Log received packets. More...