ATLAS Offline Software
IdentifiedSharedQueue.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #ifndef ATHENAINTERPROCESS_IDENTIFIEDSHAREDQUEUE_H
6 #define ATHENAINTERPROCESS_IDENTIFIEDSHAREDQUEUE_H
7 
9 
10 #include <unistd.h>
11 
12 namespace AthenaInterprocess {
13 
15 public:
16 
17 public:
19  IdentifiedSharedQueue( const std::string& name,
20  int max_msg = SHAREDQUEUE_MAX_MSG,
21  std::size_t max_size = MAX_MSG_SIZE,
22  bool do_unlink = true );
23 
24 public:
25  virtual bool try_send( const std::string& ); // non-blocking
26  virtual bool send( const std::string& );
27 
28  virtual std::string try_receive(); // non-blocking
29  virtual std::string try_receive( pid_t& id ); // id.
30  virtual std::string receive();
31  virtual std::string receive( pid_t& id );
32 };
33 
34 } // namespace AthenaInterprocess
35 
36 #endif // !ATHENAINTERPROCESS_IDENTIFIEDSHAREDQUEUE_H
pid_t
int32_t pid_t
Definition: FPGATrackSimTypes.h:19
AthenaInterprocess::IdentifiedSharedQueue::try_send
virtual bool try_send(const std::string &)
Definition: IdentifiedSharedQueue.cxx:38
AthenaInterprocess
Definition: FdsRegistry.h:11
AthenaInterprocess::SharedQueue::name
std::string name() const
Definition: SharedQueue.cxx:78
AthenaInterprocess::IdentifiedSharedQueue::IdentifiedSharedQueue
IdentifiedSharedQueue()
Definition: IdentifiedSharedQueue.cxx:19
AthenaInterprocess::IdentifiedSharedQueue::receive
virtual std::string receive()
Definition: IdentifiedSharedQueue.cxx:73
AthenaInterprocess::IdentifiedSharedQueue::try_receive
virtual std::string try_receive()
Definition: IdentifiedSharedQueue.cxx:61
AthenaInterprocess::SharedQueue
Definition: SharedQueue.h:21
AthenaInterprocess::IdentifiedSharedQueue
Definition: IdentifiedSharedQueue.h:14
SharedQueue.h
AthenaInterprocess::IdentifiedSharedQueue::send
virtual bool send(const std::string &)
Definition: IdentifiedSharedQueue.cxx:43