Class BypassPPP

Inheritance Relationships

Base Type

Class Documentation

class switchml::BypassPPP : public switchml::PrePostProcessor

A class that ignores prepostprocessing completely and just serves as a placeholder.

It is used for debugging and measuring performance without any prepostprocessing. It consists of mostly empty inline functions that will most likely be simply compiled away.

Public Functions

inline BypassPPP(Config &config, WorkerTid worker_tid, Numel ltu_size, Numel batch_num_ltus)

Calls the super class constructor.

Parameters
  • config[in] A reference to the context’s configuration.

  • worker_tid[in] The worker thread that this prepostprocessor belongs to.

  • ltu_size[in] The size in bytes of the logical transmission unit used by the backend.

  • batch_num_ltus[in] How many LTUs constitute a batch.

~BypassPPP() = default
BypassPPP(BypassPPP const&) = delete
void operator=(BypassPPP const&) = delete
BypassPPP(BypassPPP&&) = default
BypassPPP &operator=(BypassPPP&&) = default
inline virtual uint64_t SetupJobSlice(JobSlice *job_slice) override

Compute the number of LTUs needed.

Parameters

job_slice[in] A pointer to the job slice currently being worked on by the worker thread.

Returns

uint64_t the number of transmission units that prepostprocessor will need to be sent and received by the backend.

inline virtual bool NeedsExtraBatch() override

always return false

Returns

true Never

Returns

false Always

inline void PreprocessSingle(__attribute__((unused)) uint64_t pkt_id, __attribute__((unused)) void *entries_ptr, __attribute__((unused)) void *extra_info) override

Do nothing.

Parameters
  • pkt_id – ignored

  • entries_ptr – ignored

  • extra_info – ignored

inline void PostprocessSingle(__attribute__((unused)) uint64_t pkt_id, __attribute__((unused)) void *entries_ptr, __attribute__((unused)) void *extra_info) override

Do nothing.

Parameters
  • pkt_id – ignored

  • entries_ptr – ignored

  • extra_info – ignored

inline virtual void CleanupJobSlice() override

Do nothing.