Belle II Software
release-05-01-25
NSMMessage.h
1
#ifndef _Belle2_NSMMessage_hh
2
#define _Belle2_NSMMessage_hh
3
4
extern
"C"
{
5
#include <nsm2/nsm2.h>
6
}
7
8
#include "daq/slc/nsm/NSMCommand.h"
9
#include "daq/slc/nsm/NSMNode.h"
10
#include "daq/slc/nsm/NSMVar.h"
11
12
#include "daq/slc/database/DAQLogMessage.h"
13
14
#include <daq/slc/system/Buffer.h>
15
16
#include <daq/slc/base/Serializable.h>
17
18
#include <string>
19
20
namespace
Belle2
{
26
class
NSMCommunicator;
27
class
NSMData;
28
29
class
NSMMessage
:
public
Serializable
{
30
31
friend
class
NSMCommunicator
;
32
33
public
:
34
static
const
unsigned
int
DATA_SIZE;
35
36
public
:
37
NSMMessage
();
38
NSMMessage
(
const
NSMNode
& node);
39
NSMMessage
(
const
NSMNode
& node,
const
NSMCommand
& cmd);
40
NSMMessage
(
const
NSMNode
& node,
const
NSMCommand
& cmd,
41
int
npar,
int
* pars);
42
NSMMessage
(
const
NSMNode
& node,
const
NSMCommand
& cmd,
43
int
par,
const
std::string& data);
44
NSMMessage
(
const
NSMNode
& node,
const
NSMCommand
& cmd,
int
par);
45
NSMMessage
(
const
NSMNode
& node,
const
NSMCommand
& cmd,
46
const
std::string& data);
47
NSMMessage
(
const
NSMNode
& node,
const
NSMVar
& var);
48
NSMMessage
(
const
NSMNode
& node,
const
DAQLogMessage
& log);
49
NSMMessage
(
const
NSMNode
& node,
const
DAQLogMessage
& log,
const
NSMCommand
& cmd);
50
NSMMessage
(
const
NSMNode
& node,
const
NSMData
& data);
51
NSMMessage
(
const
NSMCommand
& cmd);
52
NSMMessage
(
const
NSMCommand
& cmd,
int
par);
53
NSMMessage
(
const
NSMCommand
& cmd,
int
npar,
int
* pars);
54
NSMMessage
(
const
NSMNode
& node,
const
NSMCommand
& cmd,
int
npar,
int
* pars,
55
const
std::string& data);
56
NSMMessage
(
const
NSMCommand
& cmd,
const
std::string& data);
57
NSMMessage
(
const
NSMVar
& var);
58
NSMMessage
(
const
DAQLogMessage
& log);
59
NSMMessage
(
const
NSMData
& data);
60
NSMMessage
(
const
NSMMessage
& msg);
61
virtual
~
NSMMessage
() { }
62
63
public
:
64
const
NSMMessage
& operator=(
const
NSMMessage
& msg);
65
66
public
:
67
void
init();
68
void
init(
const
NSMNode
& node,
const
NSMVar
& var);
69
void
init(
const
NSMNode
& node,
const
DAQLogMessage
& log);
70
void
init(
const
NSMNode
& node,
const
DAQLogMessage
& log,
const
NSMCommand
& cmd);
71
void
init(
const
NSMNode
& node,
const
NSMData
& data);
72
const
char
* getRequestName()
const
;
73
const
char
* getNodeName()
const
;
74
unsigned
short
getRequestId()
const
;
75
unsigned
short
getSequenceId()
const
;
76
unsigned
short
getNodeId()
const
;
77
unsigned
short
getNParams()
const
;
78
int
getParam(
int
i)
const
;
79
#if NSM_PACKAGE_VERSION >= 1914
80
int
* getParams();
81
const
int
* getParams()
const
;
82
#else
83
unsigned
int
* getParams();
84
const
unsigned
int
* getParams()
const
;
85
#endif
86
unsigned
int
getLength()
const
;
87
const
char
* getData()
const
;
88
void
setRequestName(
const
std::string& name);
89
void
setRequestName(
const
NSMCommand
& cmd);
90
void
setRequestName();
91
void
setNodeName(
const
std::string& name);
92
void
setNodeName(
const
NSMNode
& node);
93
void
setRequestId(
unsigned
short
id
);
94
void
setSequenceId(
unsigned
short
id
);
95
void
setNodeId(
unsigned
short
id
);
96
void
setNParams(
unsigned
short
id
);
97
void
setParam(
int
i,
unsigned
int
v);
98
void
setData(
int
len,
const
char
* data) ;
99
void
setData(
const
std::string& text) ;
100
const
NSMVar
getVar();
101
102
public
:
103
NSMMessage
wait(
int
timeout);
104
void
push(
const
NSMMessage
& msg);
105
106
public
:
107
virtual
void
readObject(
Reader
&);
108
virtual
void
writeObject(
Writer
&)
const
;
109
110
public
:
111
size_t
read(
NSMcontext
* nsmc);
112
NSMmsg
* getMsg() {
return
&m_nsm_msg; }
113
114
private
:
115
int
try_read(
int
sock,
char
* buf,
int
datalen);
116
117
private
:
118
mutable
NSMcontext
* m_nsmc;
119
NSMmsg
m_nsm_msg;
120
Buffer
m_data;
121
mutable
std::string m_nodename;
122
mutable
std::string m_reqname;
123
bool
m_hasobj;
124
NSMVar
m_var;
125
126
};
127
129
};
130
131
#endif
Belle2::DAQLogMessage
Definition:
DAQLogMessage.h:16
Belle2::Reader
Definition:
Reader.h:15
Belle2::NSMNode
Definition:
NSMNode.h:14
NSMmsg
Definition:
nsm2.h:217
Belle2::Serializable
Definition:
Serializable.h:13
Belle2::NSMData
Definition:
NSMData.h:24
Belle2::NSMCommunicator
Definition:
NSMCommunicator.h:25
Belle2::Writer
Definition:
Writer.h:15
Belle2::NSMMessage
Definition:
NSMMessage.h:29
Belle2::Buffer
Definition:
Buffer.h:12
Belle2
Abstract base class for different kinds of events.
Definition:
MillepedeAlgorithm.h:19
Belle2::NSMCommand
Definition:
NSMCommand.h:12
Belle2::NSMVar
Definition:
NSMVar.h:16
NSMcontext_struct
Definition:
nsmlib2.h:66
daq
slc
nsm
include
NSMMessage.h
Generated on Fri Nov 5 2021 03:50:00 for Belle II Software by
1.8.17