ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
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
pid_t
int32_t pid_t
Definition
FPGATrackSimTypes.h:19
IMessageDecoder.h
IdentifiedSharedQueue.h
SharedQueue.h
AthenaInterprocess::IMessageDecoder
Definition
IMessageDecoder.h:18
AthenaInterprocess::IdentifiedSharedQueue
Definition
IdentifiedSharedQueue.h:14
AthenaInterprocess::Process::m_outbox
IdentifiedSharedQueue m_outbox
Definition
Process.h:37
AthenaInterprocess::Process::m_pid
pid_t m_pid
Definition
Process.h:38
AthenaInterprocess::Process::Process
Process(pid_t pid)
Definition
Process.cxx:34
AthenaInterprocess::Process::~Process
virtual ~Process()
Definition
Process.cxx:55
AthenaInterprocess::Process::connectOut
bool connectOut(const IdentifiedSharedQueue &queue)
Definition
Process.cxx:78
AthenaInterprocess::Process::m_inbox
SharedQueue m_inbox
Definition
Process.h:36
AthenaInterprocess::Process::launch
static Process launch()
Definition
Process.cxx:20
AthenaInterprocess::Process::connectIn
bool connectIn(const SharedQueue &queue)
Definition
Process.cxx:67
AthenaInterprocess::Process::schedule
bool schedule(const IMessageDecoder *func, const ScheduledWork *args)
Definition
Process.cxx:89
AthenaInterprocess::Process::operator=
Process & operator=(const Process &other)
Definition
Process.cxx:45
AthenaInterprocess::Process::ATLAS_NOT_THREAD_SAFE
int mainloop ATLAS_NOT_THREAD_SAFE()
AthenaInterprocess::Process::getProcessID
pid_t getProcessID() const
Definition
Process.cxx:62
AthenaInterprocess::SharedQueue
Definition
SharedQueue.h:21
AthenaInterprocess
Definition
FdsRegistry.h:11
AthenaInterprocess::ScheduledWork
Definition
IMessageDecoder.h:12
Generated on
for ATLAS Offline Software by
1.17.0