24 #ifndef SKA_CHEETAH_RCPT_PACKETGENERATOR_H 25 #define SKA_CHEETAH_RCPT_PACKETGENERATOR_H 26 #include "cheetah/rcpt/BeamFormerPacket.h" 27 #include "cheetah/rcpt/BeamFormerDataTraits.h" 28 #include "panda/Buffer.h" 29 #include "panda/Engine.h" 30 #include <type_traits> 45 template<
class DataGenerator>
49 typedef BeamFormerDataTraits::DataType::NumericalRep SampleDataType;
53 ,data::DimensionSize<data::Frequency> number_of_channels
54 ,data::DimensionSize<data::Time> number_of_time_samples = data::DimensionSize<data::Time>(100U)
62 template<
typename Handler>
65 ska::panda::Buffer<char> next();
66 long interval()
const;
71 typedef decltype(std::declval<Packet>().packet_count()) CounterType;
73 DataGenerator& _model;
75 typename BeamFormerDataTraits::DataType::ConstIterator _data_iterator;
79 const std::size_t _max_buffers;
80 std::size_t _buffer_index;
81 std::vector<ska::panda::Buffer<char>> _buffers;
82 ska::panda::Engine _engine;
89 #include "cheetah/rcpt/detail/PacketGenerator.cpp" 91 #endif // SKA_CHEETAH_RCPT_PACKETGENERATOR_H Packs data into a UDP stream Packet Header format of the BeamFormer.
void send_one(Handler &&)
send out a single packet
Some limits and constants for FLDO.
PacketGenerator(DataGenerator &model, data::DimensionSize< data::Frequency > number_of_channels, data::DimensionSize< data::Time > number_of_time_samples=data::DimensionSize< data::Time >(100U))