artdaq_mfextensions  v1_02_02
UDP_receiver.hh
1 #ifndef MFVIEWER_RECEIVERS_UDP_RECEIVER_HH
2 #define MFVIEWER_RECEIVERS_UDP_RECEIVER_HH
3 
4 #include "mfextensions/Receivers/MVReceiver.hh"
5 
6 #include "messagefacility/MessageLogger/MessageLogger.h"
7 #include "messagefacility/Utilities/MessageFacilityMsg.h"
8 
9 #include <boost/asio.hpp>
10 using boost::asio::ip::udp;
11 
12 namespace mfviewer
13 {
17  class UDPReceiver : public MVReceiver
18  {
19  Q_OBJECT
20  public:
21  explicit UDPReceiver(fhicl::ParameterSet pset);
22 
23  virtual ~UDPReceiver();
24 
25  //Reciever Method
26  void run() override;
27 
28  // Message Parser
29  mf::MessageFacilityMsg read_msg(std::string input);
30 
31  static bool validate_packet(std::string input);
32 
33  private:
34  int port_;
35  boost::asio::io_service io_service_;
36  udp::socket socket_;
37  char buffer_[0x10000];
38  bool debug_;
39  };
40 }
41 
42 #endif
Receive messages through a UDP socket. Expects the syslog format provided by UDP_mfPlugin (ELUDP) ...
Definition: UDP_receiver.hh:17
A MVReceiver class listens for messages and raises a signal when one arrives
Definition: MVReceiver.hh:18