Belle II Software
development
RFEventServer.h
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
#ifndef RFEVENTSERVER_H
9
#define RFEVENTSERVER_H
10
11
#include <string>
12
13
#include "daq/rfarm/manager/RFConf.h"
14
#include "daq/rfarm/manager/RFSharedMem.h"
15
#include "daq/rfarm/manager/RFProcessManager.h"
16
#include "daq/rfarm/manager/RFLogManager.h"
17
#include "daq/rfarm/manager/RFFlowStat.h"
18
19
#include "daq/rfarm/manager/RFServerBase.h"
20
21
#define MAXNODES 256
22
23
namespace
Belle2
{
29
class
RFEventServer
:
public
RFServerBase
{
30
public
:
31
RFEventServer
(std::string conffile);
32
~RFEventServer
();
33
34
// Instance of singleton
35
static
RFEventServer
& Create(
const
std::string& conffile);
36
static
RFEventServer
& Instance();
37
38
// Functions to be hooked to NSM
39
int
Configure(
NSMmsg
*,
NSMcontext
*)
override
;
40
int
UnConfigure(
NSMmsg
*,
NSMcontext
*)
override
;
41
int
Start(
NSMmsg
*,
NSMcontext
*)
override
;
42
int
Stop(
NSMmsg
*,
NSMcontext
*)
override
;
43
int
Restart(
NSMmsg
*,
NSMcontext
*)
override
;
44
45
// Server function
46
void
server();
47
48
// Cleanup
49
void
cleanup();
50
51
private
:
52
RFConf
* m_conf;
53
RFSharedMem
* m_shm;
54
RFProcessManager
* m_proc;
55
RFLogManager
* m_log;
56
RFFlowStat
* m_flow;
57
RingBuffer
* m_rbufin;
58
59
int
m_pid_recv;
60
int
m_pid_sender[MAXNODES];
61
int
m_nnodes;
62
63
private
:
64
static
RFEventServer
* s_instance;
65
};
66
68
}
69
#endif
70
71
72
73
Belle2::RFConf
Definition:
RFConf.h:24
Belle2::RFEventServer
Definition:
RFEventServer.h:29
Belle2::RFFlowStat
Definition:
RFFlowStat.h:27
Belle2::RFLogManager
Definition:
RFLogManager.h:18
Belle2::RFProcessManager
Definition:
RFProcessManager.h:22
Belle2::RFServerBase
Definition:
RFServerBase.h:19
Belle2::RFSharedMem
Definition:
RFSharedMem.h:51
Belle2::RingBuffer
Class to manage a Ring Buffer placed in an IPC shared memory.
Definition:
RingBuffer.h:39
Belle2
Abstract base class for different kinds of events.
Definition:
MillepedeAlgorithm.h:17
NSMcontext_struct
Definition:
nsmlib2.h:71
NSMmsg
Definition:
nsm2.h:224
daq
rfarm
manager
include
RFEventServer.h
Generated on Fri Nov 8 2024 02:35:28 for Belle II Software by
1.9.6