#include <SharedQueue.h>
|
| boost::interprocess::message_queue * | operator-> () |
Definition at line 21 of file SharedQueue.h.
◆ SharedQueue() [1/3]
| AthenaInterprocess::SharedQueue::SharedQueue |
( |
| ) |
|
Definition at line 16 of file SharedQueue.cxx.
17{
18
19}
boost::interprocess::message_queue * m_queue
◆ SharedQueue() [2/3]
| AthenaInterprocess::SharedQueue::SharedQueue |
( |
const std::string & | name, |
|
|
int | max_msg = SHAREDQUEUE_MAX_MSG, |
|
|
std::size_t | max_size = MAX_MSG_SIZE, |
|
|
bool | do_unlink = true ) |
Definition at line 21 of file SharedQueue.cxx.
21 :
23{
24 m_queue =
new message_queue( open_or_create,
name.c_str(), max_msg, max_size );
25 if ( do_unlink )
26 message_queue::remove(
name.c_str() );
27
30}
◆ SharedQueue() [3/3]
| AthenaInterprocess::SharedQueue::SharedQueue |
( |
const SharedQueue & | other | ) |
|
Definition at line 32 of file SharedQueue.cxx.
33{
35}
void copy(const SharedQueue &other)
◆ ~SharedQueue()
| AthenaInterprocess::SharedQueue::~SharedQueue |
( |
| ) |
|
|
virtual |
◆ copy()
| void AthenaInterprocess::SharedQueue::copy |
( |
const SharedQueue & | other | ) |
|
|
private |
◆ destroy()
| void AthenaInterprocess::SharedQueue::destroy |
( |
| ) |
|
|
private |
◆ do_receive_basic()
template<typename T>
| bool AthenaInterprocess::SharedQueue::do_receive_basic |
( |
T & | data, |
|
|
bool | block ) |
|
private |
Definition at line 98 of file SharedQueue.h.
99{
101 std::size_t recvd_size = 0;
102 bool receive_ok = true;
103
104 try {
105 if(block) {
106 m_queue->receive(&
data,
sizeof(T),recvd_size,priority);
107 }
108 else {
109 receive_ok =
m_queue->try_receive(&
data,
sizeof(T),recvd_size,priority);
110 }
111 }
112 catch(boost::interprocess::interprocess_exception&) {
113 return false;
114 }
115
116 return receive_ok;
117}
char data[hepevt_bytes_allocation_ATLAS]
◆ do_send_basic()
template<typename T>
| bool AthenaInterprocess::SharedQueue::do_send_basic |
( |
T | data, |
|
|
bool | block ) |
|
private |
Definition at line 71 of file SharedQueue.h.
72{
73 bool send_ok = true;
74
75 try {
76 if(block)
78 else
80 }
81 catch(boost::interprocess::interprocess_exception&) {
82 send_ok = false;
83 }
84
85 return send_ok;
86}
◆ name()
| std::string AthenaInterprocess::SharedQueue::name |
( |
| ) |
const |
◆ operator bool()
| AthenaInterprocess::SharedQueue::operator bool |
( |
| ) |
const |
|
inline |
◆ operator->()
| boost::interprocess::message_queue * AthenaInterprocess::SharedQueue::operator-> |
( |
| ) |
|
|
inlineprotected |
◆ operator=()
Definition at line 37 of file SharedQueue.cxx.
38{
39 if ( &other != this ) {
42 }
43
44 return *this;
45}
◆ receive()
| std::string AthenaInterprocess::SharedQueue::receive |
( |
| ) |
|
|
virtual |
◆ receive_basic()
template<typename T>
| bool AthenaInterprocess::SharedQueue::receive_basic |
( |
T & | data | ) |
|
Definition at line 124 of file SharedQueue.h.
125{
127}
bool do_receive_basic(T &, bool)
◆ send()
| bool AthenaInterprocess::SharedQueue::send |
( |
const std::string & | buf | ) |
|
|
virtual |
◆ send_basic()
template<typename T>
| bool AthenaInterprocess::SharedQueue::send_basic |
( |
T | data | ) |
|
Definition at line 93 of file SharedQueue.h.
94{
96}
bool do_send_basic(T, bool)
◆ try_receive()
| std::string AthenaInterprocess::SharedQueue::try_receive |
( |
| ) |
|
|
virtual |
◆ try_receive_basic()
template<typename T>
| bool AthenaInterprocess::SharedQueue::try_receive_basic |
( |
T & | data | ) |
|
◆ try_send()
| bool AthenaInterprocess::SharedQueue::try_send |
( |
const std::string & | buf | ) |
|
|
virtual |
◆ try_send_basic()
template<typename T>
| bool AthenaInterprocess::SharedQueue::try_send_basic |
( |
T | data | ) |
|
◆ m_count
| int* AthenaInterprocess::SharedQueue::m_count |
|
private |
◆ m_name
| std::string* AthenaInterprocess::SharedQueue::m_name |
|
private |
◆ m_queue
| boost::interprocess::message_queue* AthenaInterprocess::SharedQueue::m_queue |
|
private |
The documentation for this class was generated from the following files: