00001 #ifndef MFVIEWER_RECEIVERS_UDP_RECEIVER_HH
00002 #define MFVIEWER_RECEIVERS_UDP_RECEIVER_HH
00003
00004 #include "mfextensions/Receivers/MVReceiver.hh"
00005
00006 #include <boost/regex.hpp>
00007 #include "messagefacility/MessageLogger/MessageLogger.h"
00008
00009 namespace mfviewer {
00013 class UDPReceiver : public MVReceiver {
00014 Q_OBJECT
00015 public:
00020 explicit UDPReceiver(fhicl::ParameterSet pset);
00021
00025 virtual ~UDPReceiver();
00026
00030 void run() override;
00031
00037 qt_mf_msg read_msg(std::string input);
00038
00044 static bool validate_packet(std::string input);
00045
00046 private:
00047 void setupMessageListener_();
00048
00049 int message_port_;
00050 std::string message_addr_;
00051 bool multicast_enable_;
00052 std::string multicast_out_addr_;
00053 int message_socket_;
00054
00055 boost::regex timestamp_regex_;
00056 boost::regex file_line_regex_;
00057 };
00058 }
00059
00060 #endif