12#include <boost/asio.hpp> 
   13#include <boost/scoped_ptr.hpp> 
   14#include <boost/program_options.hpp> 
   19namespace 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)
 
 
 
  140int 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")) {
 
  191      std::cout << monrouter::version::v() << std::endl;
 
  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[])
 
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)