Belle II Software  release-08-01-10
sock2rbr.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/RevSock2Rb.h"
14 
15 using namespace Belle2;
16 using namespace std;
17 
18 int 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  RevSock2Rb 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("sock2rbr : evt = %d\n", nevt);
54  }
55  }
56  exit(0);
57 }
58 
59 
60 
Abstract base class for different kinds of events.
int main(int argc, char **argv)
Run all tests.
Definition: test_main.cc:91