ATLAS Offline Software
Control
AthenaInterprocess
AthenaInterprocess
Process.h
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2022 CERN for the benefit of the ATLAS collaboration
3
*/
4
5
#ifndef ATHENAINTERPROCESS_PROCESS_H
6
#define ATHENAINTERPROCESS_PROCESS_H
7
8
#include "
AthenaInterprocess/SharedQueue.h
"
9
#include "
AthenaInterprocess/IdentifiedSharedQueue.h
"
10
#include "
AthenaInterprocess/IMessageDecoder.h
"
11
12
#include <string>
13
#include <unistd.h>
14
15
namespace
AthenaInterprocess
{
16
17
class
Process
{
18
public
:
19
static
Process
launch
();
20
21
public
:
22
explicit
Process
(
pid_t
pid
);
23
Process
(
const
Process
&
other
);
24
Process
&
operator=
(
const
Process
&
other
);
25
virtual
~Process
();
26
27
pid_t
getProcessID
()
const
;
28
29
bool
connectIn
(
const
SharedQueue
&
queue
);
30
bool
connectOut
(
const
IdentifiedSharedQueue
&
queue
);
31
bool
schedule
(
const
IMessageDecoder
* func,
const
ScheduledWork
*
args
);
32
33
int
mainloop
ATLAS_NOT_THREAD_SAFE
();
34
35
private
:
36
SharedQueue
m_inbox
;
37
IdentifiedSharedQueue
m_outbox
;
38
pid_t
m_pid
;
39
};
40
41
}
// namespace AthenaInterprocess
42
43
#endif // !ATHENAINTERPROCESS_PROCESS_H
AthenaInterprocess::Process::connectOut
bool connectOut(const IdentifiedSharedQueue &queue)
Definition:
Process.cxx:78
pid_t
int32_t pid_t
Definition:
FPGATrackSimTypes.h:19
AthenaInterprocess
Definition:
FdsRegistry.h:11
IMessageDecoder.h
IdentifiedSharedQueue.h
AthenaInterprocess::ScheduledWork
Definition:
IMessageDecoder.h:12
AthenaInterprocess::Process::~Process
virtual ~Process()
Definition:
Process.cxx:55
AthenaInterprocess::Process::schedule
bool schedule(const IMessageDecoder *func, const ScheduledWork *args)
Definition:
Process.cxx:89
AthenaInterprocess::SharedQueue
Definition:
SharedQueue.h:21
AthenaInterprocess::Process::getProcessID
pid_t getProcessID() const
Definition:
Process.cxx:62
AthenaInterprocess::Process::launch
static Process launch()
Definition:
Process.cxx:20
AthenaInterprocess::Process::m_outbox
IdentifiedSharedQueue m_outbox
Definition:
Process.h:37
AthenaInterprocess::Process::Process
Process(pid_t pid)
Definition:
Process.cxx:34
ParticleGun_EoverP_Config.pid
pid
Definition:
ParticleGun_EoverP_Config.py:62
AthenaInterprocess::Process::m_pid
pid_t m_pid
Definition:
Process.h:38
beamspotman.queue
string queue
Definition:
beamspotman.py:347
AthenaInterprocess::Process::m_inbox
SharedQueue m_inbox
Definition:
Process.h:36
AthenaInterprocess::IMessageDecoder
Definition:
IMessageDecoder.h:18
AthenaInterprocess::Process::operator=
Process & operator=(const Process &other)
Definition:
Process.cxx:45
AthenaInterprocess::Process
Definition:
Process.h:17
AthenaInterprocess::Process::connectIn
bool connectIn(const SharedQueue &queue)
Definition:
Process.cxx:67
InDetDD::other
@ other
Definition:
InDetDD_Defs.h:16
AthenaInterprocess::IdentifiedSharedQueue
Definition:
IdentifiedSharedQueue.h:14
SharedQueue.h
python.CaloScaleNoiseConfig.args
args
Definition:
CaloScaleNoiseConfig.py:80
AthenaInterprocess::Process::ATLAS_NOT_THREAD_SAFE
int mainloop ATLAS_NOT_THREAD_SAFE()
Generated on Fri Jan 10 2025 21:16:20 for ATLAS Offline Software by
1.8.18