12 #include <boost/asio.hpp> 
   13 #include <boost/scoped_ptr.hpp> 
   14 #include <boost/program_options.hpp> 
   19 namespace po = boost::program_options;
 
   20 #include "configure.hpp" 
   27   boost::scoped_ptr<JControlHost> 
m_ch;
 
   29   mutable boost::asio::ip::udp::socket 
m_input;
 
   36       std::string 
const& 
name 
   37     , std::string 
const& 
server 
   57   virtual void actionInit(
int length, 
const char* buffer) {}
 
   63         std::string(buffer, length)
 
   66     m_input.open(boost::asio::ip::udp::v4());
 
   69         boost::asio::ip::udp::endpoint(
 
   70             boost::asio::ip::udp::v4()
 
   77             conf.get<std::string>(
"out_server_address")
 
   78           , conf.get<
unsigned>(
"out_server_port")
 
  123         static size_t const max_size = 10000;
 
  124         static char buffer[max_size];
 
  126         std::size_t 
const size = 
m_input.receive(
 
  127             boost::asio::buffer(buffer, max_size)
 
  140 int main(
int argc, 
char* argv[])
 
  142   std::string server(
"localhost");
 
  143   std::string logger(
"localhost");
 
  144   std::string client_name(
"MonRouter");
 
  148   po::options_description desc(
"Options");
 
  150       (
"help,h", 
"Print this help and exit.")
 
  151       (
"version,v", 
"Print the version and exit.")
 
  154         , po::value<std::string>(&server)->default_value(server)
 
  155         , 
"Set the address of the SM server." 
  159         , po::value<std::string>(&logger)->default_value(logger)
 
  160         , 
"Set the address of the logger server." 
  164         , po::value<std::string>(&client_name)->default_value(client_name)
 
  165         , 
"Set the address of the client name." 
  169         , po::value<int>(&port)->required()
 
  170         , 
"Set the UDP port to read data from" 
  174         , po::value<int>(&
debug)->default_value(
debug)
 
  175         , 
"Set the debug level." 
  179     po::variables_map vm;
 
  181         po::command_line_parser(argc, argv).options(desc).run(),
 
  185     if (vm.count(
"help")) {
 
  186       std::cout << desc << std::endl;
 
  190     if (vm.count(
"version")) {
 
  196   } 
catch (
const po::error& e) {
 
  197     std::cerr << 
"MonRouter: Error: " << e.what() << 
'\n' 
  198               << desc << std::endl;
 
  200   } 
catch (
const std::runtime_error& e) {
 
  201     std::cerr << 
"MonRouter: Error: " << e.what() << 
'\n' 
  202               << desc << std::endl;
 
General purpose message reporting.
 
int getRunNumber() const
Get run number.
 
JDAQStateMachine::ev_configure_event ev_configure
 
Auxiliary class for method select.
 
void set(const int file_descriptor)
Set file descriptor.
 
bool has(const int file_descriptor) const
Has file descriptor.
 
Message logging based on ControlHost.
 
Interface for logging messages.
 
Control unit client base class.
 
JSharedPointer< JControlHost > server
message server
 
void replaceEvent(const JTag &oldTag, const JTag &newTag, JDAQEvent_t &event)
Replace tag of given event in event table.
 
void run()
Run as run control client following command messages via JNET::JControlHost.
 
JMessageLogger logger
message logger
 
virtual bool enter(const JArgs &args)
Enter the state machine.
 
virtual void actionQuit(int length, const char *buffer)
 
MonitorRouter(std::string const &name, std::string const &server, JLogger *logger, const int level, int port)
 
virtual void actionRunning()
This method is repeatedly called when this client machine is in state Running and the clock interval ...
 
virtual void actionInit(int length, const char *buffer)
 
virtual void actionSelect(const JFileDescriptorMask &mask)
Action method following last select call.
 
virtual void actionExit()
 
virtual void actionReset(int length, const char *buffer)
 
virtual void actionEnter()
Interface methods for actions corresponding to state transitions.
 
virtual void setSelect(JFileDescriptorMask &mask) const
Set the file descriptor mask for the select call.
 
boost::asio::ip::udp::socket m_input
 
boost::asio::io_service m_service
 
virtual void actionContinue(int length, const char *buffer)
 
virtual void actionStart(int length, const char *buffer)
 
virtual void actionStop(int length, const char *buffer)
 
virtual void actionPause(int length, const char *buffer)
 
virtual void actionConfigure(int length, const char *buffer)
 
boost::scoped_ptr< JControlHost > m_ch
 
int main(int argc, char *argv[])
 
void store(const std::string &file_name, const JDetector &detector)
Store detector to output file.
 
KM3NeT DAQ data structures and auxiliaries.
 
static const JNET::JTag RC_CMD
 
static const JNET::JTag RC_MONITORING_ROUTER
 
static const JNET::JTag IO_MONITORING_DATA
 
boost::property_tree::ptree parse(std::string str)