10#ifndef FLXLIBS_SRC_ELINKCONCEPT_HPP_
11#define FLXLIBS_SRC_ELINKCONCEPT_HPP_
16#include "packetformat/detail/block_parser.hpp"
48 virtual void init(
const size_t block_queue_capacity) = 0;
51 virtual void conf(
size_t block_size,
bool is_32b_trailers) = 0;
64 void set_ids(
int card,
int slr,
int id,
int tag)
71 std::ostringstream lidstrs;
73 <<
"cid:" << std::to_string(
m_card_id) <<
"|"
75 <<
"lid:" << std::to_string(
m_link_id) <<
"|"
76 <<
"tag:" << std::to_string(
m_link_tag) <<
"]";
79 std::ostringstream tidstrs;
90 std::unique_ptr<felix::packetformat::BlockParser<DefaultParserImpl>>
m_parser;
98 std::chrono::time_point<std::chrono::high_resolution_clock>
m_t0;
ElinkConcept & operator=(const ElinkConcept &)=delete
ElinkConcept is not copy-assginable.
DefaultParserImpl & get_parser()
std::unique_ptr< felix::packetformat::BlockParser< DefaultParserImpl > > m_parser
ElinkConcept(ElinkConcept &&)=delete
ElinkConcept is not move-constructible.
void set_sink_config(const appmodel::DataMoveCallbackConf *sink_conf)
std::chrono::time_point< std::chrono::high_resolution_clock > m_t0
DefaultParserImpl m_parser_impl
virtual bool queue_in_block_address(uint64_t block_addr)=0
ElinkConcept & operator=(ElinkConcept &&)=delete
ElinkConcept is not move-assignable.
const appmodel::DataMoveCallbackConf * m_sink_conf
virtual void init(const size_t block_queue_capacity)=0
void set_ids(int card, int slr, int id, int tag)
std::string m_elink_source_tid
virtual void conf(size_t block_size, bool is_32b_trailers)=0
virtual void acquire_callback()=0
ElinkConcept(const ElinkConcept &)=delete
ElinkConcept is not copy-constructible.