Template Class FromHostWriter

Class Documentation

template<class B>
class FromHostWriter

FromHostWriter owns a network Receiver that runs the (event loop) thread. Messages are received from the network, encoded, and written into the FromHost buffer. The FromHost can be shared by more than one FromHostWriter. FromHostWriter is templated to support FlxFromHostBuffer and FileFromHostBuffer.

Public Functions

FromHostWriter(std::shared_ptr<B> buffer, const std::vector<Elink> &elinks, std::unique_ptr<Receiver> receiver, bool trickle = false)

FromHostWriter contructor.

Parameters:
  • buffer -- shared pointer to Fromhost DMA buffer.

  • elinks -- vector of enabled e-links.

  • receiver -- pointer to network receiver.

encode and write an incoming network message.

Parameters:
  • buffer -- shared pointer to Fromhost DMA buffer.

  • elinks_type -- type of e-links to be enabled.

  • receiver -- pointer to network receiver.

FromHostWriter(const FromHostWriter&) = delete
FromHostWriter &operator=(const FromHostWriter&) = delete
FromHostWriter(FromHostWriter&&) noexcept = default
FromHostWriter &operator=(FromHostWriter&&) noexcept = default
inline void connection_established(const std::string &s)

on-connection-established callback.

inline void connection_closed(const std::string &s)

on-connection-closed callback.

void encode_and_write(const std::vector<ToFlxMessage> &messages, bool trickle = false)

encode and write an incoming network message.

Parameters:

messages -- vector of ToFlxMessage structs representing incoming network messages.

Returns:

map of e-link / e-link monitoring information.

inline unsigned int get_number_of_connections()
Returns:

number of open connections.

inline uint32_t get_id() const
Returns:

id of the writer