Template Class Trickle

Class Documentation

template<class Config, class Device, class Buffer>
class Trickle

Class used to forward trickle configuration to FE devices.

This template approach allows the same core logic to work with both real hardware and file-based emulation.

Template Parameters:
  • Config -- Configuration class that provides device IDs, DMA buffer sizes, and network settings (e.g. ConfigTrickle)

  • Device -- Represents a FELIX device (e.g. FlxDevice, FileDevice) that handles hardware communication

  • Buffer -- FromHost DMA buffer implementation (e.g. FlxFromHostBuffer, FileFromHostBuffer) for memory management

Public Functions

inline explicit Trickle(std::unique_ptr<Config> config)
void start()

allocate all resources and start thread(s).

void stop()

stop transfers, join all created threads.

Public Members

std::unique_ptr<Config> cfg
std::list<std::shared_ptr<Device>> devices
std::map<int, std::shared_ptr<Buffer>> dma_buffers