Belle II Software
release-05-01-25
rawrb2sockr.cc
1
//+
2
// File : rawrb2sockr.cc
3
// Description : Get an event from RingBuffer and send it to socket
4
// Reverse Connection
5
//
6
// Author : Ryosuke Itoh, IPNS, KEK
7
// Date : 25 - Jul - 2013
8
//-
9
#include <string>
10
11
#include <signal.h>
12
13
#include "daq/rfarm/event/RawRevRb2Sock.h"
14
15
using namespace
Belle2
;
16
using namespace
std;
17
18
static
RawRevRb2Sock
* s_body = NULL;
19
20
void
sigint_handler(
int
signum)
21
{
22
printf(
"rawrb2sockr : aborted\n"
);
23
delete
s_body;
24
exit(-1);
25
}
26
27
28
int
main
(
int
argc,
char
** argv)
29
{
30
// Retrieve RingBuffer name[1], port number[2], Shmname[3], and id[4]
31
if
(argc < 5) {
32
printf(
"syntax : rb2sock rbufname port\n"
);
33
exit(-1);
34
}
35
36
signal(SIGINT, sigint_handler);
37
signal(SIGTERM, sigint_handler);
38
39
string
a1(argv[1]);
40
int
a2 = atoi(argv[2]);
41
string
a3(argv[3]);
42
int
a4 = atoi(argv[4]);
43
44
RawRevRb2Sock
* rs =
new
RawRevRb2Sock
(a1, a2, a3, a4);
45
// RawRevRb2Sock rs(a1, a2, a3, a4);
46
s_body = rs;
47
48
int
nevt = 0;
49
for
(;;) {
50
// int stat = rs.SendEvent();
51
int
stat = rs->
SendEvent
();
52
// printf ( "rb2sock : sending %d\n", stat );
53
if
(stat <= 0) {
54
printf(
"rb2sock : error in sending event. The event is lost. Reconnecting....\n"
);
55
// rs.Reconnect();
56
rs->
Reconnect
();
57
printf(
"rb2sock : reconnected.\n"
);
58
}
59
nevt++;
60
if
(nevt % 5000 == 0) {
61
printf(
"rawrb2sockr : evt = %d\n"
, nevt);
62
}
63
}
64
exit(0);
65
}
66
67
68
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::RawRevRb2Sock::Reconnect
int Reconnect(void)
Reconnect.
Definition:
RawRevRb2Sock.cc:48
Belle2::RawRevRb2Sock::SendEvent
int SendEvent(void)
Event function.
Definition:
RawRevRb2Sock.cc:32
Belle2::RawRevRb2Sock
Definition:
RawRevRb2Sock.h:35
daq
rfarm
event
tools
rawrb2sockr.cc
Generated on Fri Nov 5 2021 03:49:37 for Belle II Software by
1.8.17