Belle II Software development
rawsock2rbr.cc
1/**************************************************************************
2 * basf2 (Belle II Analysis Software Framework) *
3 * Author: The Belle II Collaboration *
4 * *
5 * See git log for contributors and copyright holders. *
6 * This file is licensed under LGPL-3.0, see LICENSE.md. *
7 **************************************************************************/
8#include <string>
9
10#include <stdio.h>
11#include <stdlib.h>
12
13#include "daq/rfarm/event/RawRevSock2Rb.h"
14
15using namespace Belle2;
16using namespace std;
17
18int main(int argc, char** argv)
19{
20 // Retrieve RingBuffer name[1], port number[2], shmname[4], and id[5]
21 if (argc < 2) {
22 printf("syntax : sock2rb rbufname src port\n");
23 exit(-1);
24 }
25
26 string a1(argv[1]);
27 string a2(argv[2]);
28 int a3 = atoi(argv[3]);
29 string a4(argv[4]);
30 int a5 = atoi(argv[5]);
31
32 RawRevSock2Rb sr(a1, a2, a3, a4, a5);
33
34 int nevt = 0;
35 for (;;) {
36 int stat = sr.ReceiveEvent();
37 // printf ( "sock2rb received : %d\n", stat );
38 if (stat < 0)
39 break;
40 else if (stat == 0) {
41 // Reconnection needed
42 int nrepeat = 5000;
43 for (;;) {
44 int rstat = sr.Reconnect(nrepeat);
45 if (rstat == -1)
46 continue;
47 else
48 break;
49 }
50 }
51 nevt++;
52 if (nevt % 5000 == 0) {
53 printf("rawsock2rbr : evt = %d\n", nevt);
54 }
55 }
56 exit(0);
57}
58
59
60
Abstract base class for different kinds of events.
STL namespace.