Belle II Software  release-05-01-25
rf_eventserver.cc
1 //+
2 // File : RFEventServer.cc
3 // Description : Receive data from event builder 1 and distribute them to
4 // Processing nodes
5 //
6 // Author : Ryosuke Itoh, IPNS, KEK
7 // Date : 24 - June - 2013
8 //-
9 #include "daq/rfarm/manager/RFEventServer.h"
10 #include "daq/rfarm/manager/RFNSM.h"
11 
12 #include <csignal>
13 
14 using namespace std;
15 using namespace Belle2;
16 
17 static RFEventServer* evs = NULL;
18 
19 extern "C" void sighandler(int sig)
20 {
21  printf("SIGTERM handler here\n");
22  evs->cleanup();
23 }
24 
25 int main(int argc, char** argv)
26 {
27  RFConf conf(argv[1]);
28 
29  // Creation of event server instance. evs contains the instance
30  // RFEventServer& evs = RFEventServer::Create(argv[1]);
31 
32  // RFEventServer* evs = new RFEventServer(argv[1]);
33  evs = new RFEventServer(argv[1]);
34 
35  signal(SIGINT, sighandler);
36  signal(SIGTERM, sighandler);
37  printf("Signal handler installed\n");
38 
39  RFNSM nsm(conf.getconf("distributor", "nodename"), evs);
40  nsm.AllocMem(conf.getconf("system", "nsmdata"));
41  evs->SetNodeInfo(nsm.GetNodeInfo());
42 
43  evs->server();
44 
45 }
Belle2::RFEventServer
Definition: RFEventServer.h:30
main
int main(int argc, char **argv)
Run all tests.
Definition: test_main.cc:77
Belle2
Abstract base class for different kinds of events.
Definition: MillepedeAlgorithm.h:19
Belle2::RFNSM
Definition: RFNSM.h:61
Belle2::RFConf
Definition: RFConf.h:24