FairMQ  1.4.33
C++ Message Queuing Library and Framework
FairMQPoller.h
1 /********************************************************************************
2  * Copyright (C) 2014-2018 GSI Helmholtzzentrum fuer Schwerionenforschung GmbH *
3  * *
4  * This software is distributed under the terms of the *
5  * GNU Lesser General Public Licence (LGPL) version 3, *
6  * copied verbatim in the file "LICENSE" *
7  ********************************************************************************/
8 
9 #ifndef FAIRMQPOLLER_H_
10 #define FAIRMQPOLLER_H_
11 
12 #include <string>
13 #include <memory>
14 
16 {
17  public:
18  virtual void Poll(const int timeout) = 0;
19  virtual bool CheckInput(const int index) = 0;
20  virtual bool CheckOutput(const int index) = 0;
21  virtual bool CheckInput(const std::string& channelKey, const int index) = 0;
22  virtual bool CheckOutput(const std::string& channelKey, const int index) = 0;
23 
24  virtual ~FairMQPoller() {};
25 };
26 
27 using FairMQPollerPtr = std::unique_ptr<FairMQPoller>;
28 
29 namespace fair::mq
30 {
31 
32 using Poller = FairMQPoller;
33 using PollerPtr = FairMQPollerPtr;
34 struct PollerError : std::runtime_error { using std::runtime_error::runtime_error; };
35 
36 } // namespace fair::mq
37 
38 #endif /* FAIRMQPOLLER_H_ */
fair::mq::PollerError
Definition: FairMQPoller.h:34
fair::mq
Tools for interfacing containers to the transport via polymorphic allocators.
Definition: DeviceRunner.h:23
FairMQPoller
Definition: FairMQPoller.h:16

privacy