FairMQ  1.2.0
C++ Message Passing 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
30 {
31 namespace mq
32 {
33 
34 using PollerPtr = std::unique_ptr<FairMQPoller>;
35 
36 struct PollerError : std::runtime_error { using std::runtime_error::runtime_error; };
37 
38 } /* namespace mq */
39 } /* namespace fair */
40 
41 #endif /* FAIRMQPOLLER_H_ */
Definition: FairMQPoller.h:36
Definition: FairMQPoller.h:15
Definition: DeviceRunner.h:23